Area X

www.areax2.narod.ru

Subscribe to RSS feed

Заметки программиста: Как вернуть меню по нажатию на таскбаре при BorderStyle - bsNone

Столкнулся тут с проблемой.
Далее выдержка моих сообщений на форуме:

Раньше ставил BorderStyle - bsNone но и создавал свой дизаин программ. все оки было. Теперь ставя это свойство в none у меня пропадает меню по правому клику мыши на кнопки приложения в таскбаре. не могу понять в чем проблема. раньше такого небыло. единственно предположение что в этом вина Delphi 2007. в старых программах, которые вероятно у меня были созданы еще в Delphi 6, это меню есть при BorderStyle - bsNone и сейчас уже долго после работы над ними в Delphi 2007.

Подскажите пожалуйста как заставить появляться это меню? вполне допустима замена этого меню своим

-----

Delphi 2007, Windows XP
создаю проект. BorderStyle = bsSizeable. меню есть.



ставлю BorderStyle = bsNone. меню пропадает. по нажатию правой кнопкой мышки на кнопке в таскбаре, меню не появляется. достаточно поставить обратно BorderStyle = bsSizeable, меню появляется.


Deлаю ровно тоже самое на Delphi 6 под WinXp.
при постановке BorderStyle = bsNone, меню НЕ пропадает.

Я понимаю что вероятно это особеность режима BorderStyle = bsNone ( именно в D2007 ) но, вот в D6 работает же, как же заставить появляться это меню?

-----

а между тем. вычислил я что и где.
сравнил проекты созданные в D6 с bsSizeable и с bsNone. И потом сравнил проект с bsNone созданный в D6 с проектом с bsNone созданным в D2007.

разница: фаил Project1.dpr
D6 c BorderStyle = bsNone

program Project1;

uses
  Forms,
  Unit1 in 'Unit1.pas' {Form1};

{$R *.res}

begin
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end.


и в проекте созданным в D2007 с bsNone

program Project1;

uses
  Forms,
  Unit1 in 'Unit1.pas' {Form1};

{$R *.res}

begin
  Application.Initialize;
  Application.MainFormOnTaskbar := True;
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end.


вытираем строчку выделеную жирным, перекомпиляция. и вуаля! теперь меню по правой кнопки мыши на кнопки программы в таскбаре появляется. таки сделал я ее!

правда что это за свойство MainFormOnTaskbar этакое, если бы оно было как чтото типа MenuOnTaskbar:=False; то былобы понятно. а так, хм. но результат на лицо

Заметки программиста: Разработка компонента TexXEditor

Мой компонент TexXEditor для того чтобы отобразить фаил на экране, сначала считывает все данные из фаила в память, точнее в массив. До сих пор я использовал статический массив. Его размер был записан на этапе разработки, 500 столбцов и 1000 строк. smile ограничение размера TexX-фаила. Самое смешное начиналось при его очистке. Вот смотрите, открыл я первый фаил, а потом хочу открыть второй. Перед открытием второго нужно очистить массив данных, иначе вся информация может перемещаться. Я долго не мог найти быстрый и качественный способ очистки массива. Способ был либо медленный либо приводил к утечки памяти. Таким образом после очистки массива данных, программа в оперативной памяти занимала около 250 мегабайт smile).

Теперь я переделал статические массивы в динамические. Тоесть я не задаю на этапа разработки размер массива, размер его задается при открытие фаила. Если я открываю фаил с 10ю столбцами и 20ю строкамию, зачем мне массив размером 500 на 1000? Не зачем. Теперь массив создается именно под размер фаила. Что экономит память. Кроме того динамический массив легко очистить.

Еще один маленький шажок к компоненту TexXEditor и новой версии редактора TexEdit

XFilesHolidays 2.08

Сегодня обновил XFilesHolidays до версии 2.08

Последние изменения ( по сравнению с 2.05 )
+ Добавлено меню при нажатие на название программы в заголовке
* Улучшения и исправления интерфейса:

1. Некоторые улучшения в отображение календаря
2. Теперь программу можно закрыть нажатием кнопки Esc
3. Ну и еще пару мелких исправлений и улучшений
4. В режиме сортировки листа событий по "месяцу и дню" список зацикливается:

Раньше:


Теперь:


При этом в опциях в разделе тонкой настройки вы можете отключить опцию зацикливания, называется эта опция - Loop the scrolling list in the sort mode "on the month and day".

Для ручной установки скачать можно здесь либо обновить автоматически через саму программу

Заметки программиста

В продолжение к посту о новой версии движка Linteum ( который используется для отображения данных из формата TexX ) и новой версии моего текстового редактора TextEdit.

Новая версия движка Linteum почти готова.

Новый версия движка Linteum и зачатки нового TextEdit'а!

Он справляется с большими фаилами которые старая версия движка не могла переварить, поддерживает почти полностью ( пока почти, естественно ) последнию спецификацию формата TexX и времени до момента когда новый движок можно будет использовать не только для чтения фаилов но и для их создания, осталось совсем немного.

XFilesHolidays: о том что в разработке...

Сейчас в разработке ( по сравнению с версией 2.05 )
1. Меню по нажатию на название программы в загаловке
2. Некоторые улучшения в отображение календаря
3. Теперь программу можно закрыть нажатием кнопки Esc
4. Ну и еще пару мелких исправлений и улучшений

1. Если нажать на иконку программы или ее название в заголовке то появится меню:


Здесь убраны надписи под заголовком. Но во избежание потери понимания со стороны пользователей по умолчанию они будут ( пока покрайней мере ). Отключить их можно в фаиле options.ini - [Interface] Show the menu bar=off

2. Календарь
Раньше:


Теперь:


Отличий на первый взгляд может и не заметно, но если присмотреться теперь цифрs и кружочки выстроены более аккуратно

андроид или UiQ - слабый телефон с удобной операционкой или мощный телефон с долбанутой операционкой

Вот в чем вопрос. В андроиде отстутствует многозадачность. Формально она есть но с ее отстуствием, я имею ввиду с идиотской ее организацией сталкиваешся каждый день. и когда сталкиваешся просто приходится терпеть. Вероятность что мой следующий телефон будет на андроиде уменьшается постоянно, и составляет процентов десять наверно. Но что выбрать iOS? там тоже как я понял нету нормальной многозадачности. Windows Phone? ну уж увольте, этот вариант даже расматривать не буду. Что еще? Где нормальная операционка? Почему сделав современную операционку андроид на ядре линукса, надо было добавлять в нее таакуую бооольшую ложку дегтя. И только многозадачностью тут дело не ограничивается, просто про остальные недостатки андроида и писать не хочется уже.

Так " андроид или UiQ - слабый телефон с удобной операционкой или мощный телефон с долбанутой операционкой" . Взяв в руки великолепный телефон Sony Ericsson P1 сегодня и включив его, я понимаю что он откровенно устарел железом. Маленький экран, слабый проц... Понимаю что не готов отказаться от телефона с гигорцовым процом и доволнотаки мощными программами ( хоть и порой странно сделаными ), понимаю что иногда хочется запустить современную игрушку и поиграться. Но когда впоминаю об отсутвие многозадачности в андроиде, о том что всякая программа лезит в автозагрузку и много куда еще не надо, о том что программы то и дело падают....

TextEdit 3.01

Новая версия текстового редактора TextEdit 3.01, с некоторыми исправлеными ошибками.
Скачать ( 1.2 mb )

Заметки программиста

В браузере Opera есть кнопка под которой скрывается список последних открываемых страниц. У меня давно витала мысль сделать утилиту с таким же функционалом для винда. Тоесть чтобы в этой программе отображалась история открываемых папок. Иногда закроеш папку, и вдруг вспомниш что надо чтото еще в ней сделать, с помощью этой программы открытие этой папки будет в два клика

Премия за тупизм

у меня сейчас какието проблемы с драйверами звука. отваливаются через некоторое время работы, причем как то...: виндоус не видит аудиустройств, Media Player Classic не воспроизводит звук, а все остальные приложения играют звук и даже не пищят. ищу как решить проблемы. вот наткнулся http://otvet.mail.ru/question/38383088/
премии за тупизм ответа достоен каждый

Юмор о программистах

Сила ума...
Принимали в программерскую контору программера...
В анкете в графе о наличии у него детей написал 6/9.
Народ долго репу чесал... И что только не придумывали: и что у него 6 мальчиков и 9 девочек, и что у него 6 жен и 9 детей, и что у него дети от 6 до 9 лет.... Потом у него спросили, что сия запись за собой таит. Ответ был просто потрясающий:
- У меня жена на ШЕСТОМ МЕСЯЦЕ....
Воистину, программист - это не профессия, а образ мысли....
От меня: вполне понятно. А что еще писать в графе дети, если ребенок еще/уже в процессе проектирования? 0 - ЛОЖЬ, 1 - ЛОЖЬ, 6/9 - ПРАВДА


Программисты знают много несмешных анекдотов. Развеять этот миф не получится, однако тому причиной отнюдь не плохое чувство юмора программистов. Всему виной специфика их работы, далекая от понимания обычному человеку. Когда речь между двумя программистами заходит о программном коде и шутках на тему компьютеров, этот юмор будет, скорее всего, понятен только им. Мало кто поймет сравнение совместного создания RAID-массива и женитьбы.

Программисту всегда известна последовательность действий, которыми пользователь может повесить его программу, но он никогда не чинит эту проблему, надеясь на то, что никому никогда не придёт в голову эту последовательность исполнять.
Я бы сказал иначе: Программисту всегда известна последовательность действий, которыми пользователь может повесить его программу ( вызвать сбой в ней ), но он никогда не знает чем на самом деле пользователь умудряется повесить его программу ( вызвать в ней сбой ). Хотя и первое высказывание верно.

Самые мистические проблемы, широко раздуваемые и афишируемые, в конце концов оказываются твоими глупейшими ошибками.
От меня: иногда ошибка которая кажется весьма непонятной, хитрой и тп, оказывается вызвана глупейшей ошибкой в коде. У меня недавно это было в XFilesHolidays, в ней долго сидела одна ошибка которую я никак не мог понять как она получается, ошибка была проста не возможной. А оказалось... я перепутал два символа ( две буквы ) местами.

Конфликт логических указаний в жизни вызывает фатальную ошибку в работе мозга программиста - возможно повышение температуры и сильное головокружение вплоть до рвоты или потери сознания.
От меня:Ну про рвоту это конечно наверно перебор, по про конфликт логических указаний, правда. Сам сталкивался и не раз наверно. Два логически противоположных указания, итог полное непонимание что делать.

Жена отправляет программиста в магазин, говорит ему:
- Купи батон хлеба, а если будут яйца - возми десяток...
Приходит программер в магазин, говорит:
- Дайте батон... А Яйца есть?
- Есть!
- Тогда дайте десять батонов...