Заметки программиста: Как вернуть меню по нажатию на таскбаре при BorderStyle - bsNone
Sunday, February 12, 2012 11:01:36 AM
Столкнулся тут с проблемой.
Далее выдержка моих сообщений на форуме:
Раньше ставил 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
и в проекте созданным в D2007 с bsNone
вытираем строчку выделеную жирным, перекомпиляция. и вуаля! теперь меню по правой кнопки мыши на кнопки программы в таскбаре появляется. таки сделал я ее!
правда что это за свойство MainFormOnTaskbar этакое, если бы оно было как чтото типа MenuOnTaskbar:=False; то былобы понятно. а так, хм. но результат на лицо
Далее выдержка моих сообщений на форуме:
Раньше ставил 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; то былобы понятно. а так, хм. но результат на лицо








