Area X

www.areax2.narod.ru

Заметки программиста: Как вернуть меню по нажатию на таскбаре при 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; то былобы понятно. а так, хм. но результат на лицо

Заметки программиста: Разработка компонента TexXEditorXFilesHolidays: о том что в разработке...

Write a comment

New comments have been disabled for this post.