![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как изменить всплывающее меню в таскбаре
AlexR © (2004-07-22 02:15:00)Каким образом можно изменить всплывающее меню при нажатии правой кнопкой на панель программы в ТаскБаре?
AlexR (2004-07-22 17:56:00) [1]
> Almaz © (22.07.04 04:36)
Большое спасибо! Очень мне помог!
Almaz (2004-07-22 04:36:00) [2]Надо получить ссылку на системное меню окна приложения и изменить полученное меню. Например так:
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;
Удачи.