|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
Как вернуть меню по нажатию на таскбаре при BorderStyle - bsNone?
раньше ставил BorderStyle - bsNone но и создавал свой дизаин программ. все оки было.
теперь ставя это свойство в none у меня пропадает меню по правому клику мыши на кнопки приложения в таскбаре. не могу понять в чем проблема. раньше такого небыло. единственно предположение что в этом вина Delphi 2007. в старых программах, которые вероятно у меня были созданы еще в Delphi 6, это меню есть при BorderStyle - bsNone и сейчас уже долго после работы над ними в Delphi 2007. подскажите пожалуйста как заставить появляться это меню? вполне допустима замена этого меню своим |
#2
|
||||
|
||||
Хм. Не пойму, о каком именно меню идет речь. В Delphi XE стандартное меню Win7 работает в таскбаре (запустить, закрепить, закрыть) при отключении границ окна.
jmp $ ; Happy End! The Cake Is A Lie. |
#3
|
|||
|
|||
Delphi 2007, Windows XP
создаю проект. BorderStyle = bsSizeable. меню есть. ставлю BorderStyle = bsNone. меню пропадает. по нажатию правой кнопкой мышки на кнопке в таскбаре, меню не появляется. достаточно поставить обратно BorderStyle = bsSizeable, меню появляется. Deлаю ровно тоже самое на Delphi 6 под WinXp. при постановке BorderStyle = bsNone, меню НЕ пропадает. Я понимаю что вероятно это особеность режима BorderStyle = bsNone ( именно в D2007 ) но, вот в D6 работает же, как же заставить появляться это меню? Последний раз редактировалось Fox Mulder, 24.01.2012 в 18:52. |
#4
|
|||
|
|||
Делай в Delphi 6 - делов то....
|
#5
|
|||
|
|||
m1sclick да вы гениальны!
а между тем. вычислил я что и где. сравнил проекты созданные в 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; то былобы понятно. а так, хм. но результат на лицо |