Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.08.08;
Скачать: CL | DM;

Вниз

Как изменить всплывающее меню в таскбаре   Найти похожие ветки 

 
AlexR   (2004-07-22 02:15) [0]

Каким образом можно изменить всплывающее меню при нажатии правой кнопкой на  панель программы в ТаскБаре?


 
Almaz ©   (2004-07-22 04:36) [1]

Надо получить ссылку на системное меню окна приложения и изменить полученное меню. Например так:

 
const
 idMyMenuItem = 1234;
...
MenuHandle := GetSystemMenu(Application.Handle, False);
 InsertMenu(MenuHandle, Cardinal(-1), MF_BYPOSITION or MF_SEPARATOR, 0, nil);
 InsertMenu(MenuHandle, Cardinal(-1), MF_BYPOSITION or MF_STRING, idMyMenuItem, "Мой пункт");


Обрабатывать события выбора этого пункта необходимо в Application.OnMessage:

procedure TForm1.ApplicationOnMessage(var Msg: TMsg; var Handled: Boolean);
begin
 if (Msg.message = WM_SYSCOMMAND) and (LoWord(Msg.wParam) = idMyMenuItem) then
 begin
   ShowMessage("Выбран дополнительный пункт");
   Handled := True;
 end;
end;


Удачи.


 
AlexR   (2004-07-22 17:56) [2]


> Almaz ©   (22.07.04 04:36)


Большое спасибо! Очень мне помог!



Страницы: 1 вся ветка

Текущий архив: 2004.08.08;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.101 c
14-1090394927
mm0
2004-07-21 11:28
2004.08.08
Установка Win98 поверх XP.Помогит горе-ламерам,plz


14-1090244953
PokSer
2004-07-19 17:49
2004.08.08
:))


14-1090216695
BorisMor
2004-07-19 09:58
2004.08.08
Чем C# лучше VB.NET или Delphi 8


4-1088176298
Alaman
2004-06-25 19:11
2004.08.08
Как программно свернуть/ восстановить форму?


3-1089614080
Смертник
2004-07-12 10:34
2004.08.08
Проблема с поиском в БД.