Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Меню в трее.


andre ©   (2003-08-10 02:37:00) 

Привет.
Нужно сделать всплывающее меню по клику по значку в трее. После долгого лазания по справке родилось следующее:
procedure PopupMenu (Window : THandle);
var
Menu : HMenu;
Popup : HMenu;
Pt ( hinstance, "TRAYMENU")

Привет.
Нужно сделать всплывающее меню по клику по значку в трее. После долгого лазания по справке родилось следующее:
procedure PopupMenu (Window : THandle);
var
Menu : HMenu;
Popup : HMenu;
Pt : TPoint;
begin
Menu := LoadMenu (hinstance, "TRAYMENU");
Popup:= GetSubMenu (Menu, 0);
GetCursorPos (Pt);
TrackPopupMenuEx (Popup, TPM_CENTERALIGN or TPM_LEFTBUTTON, Pt.X, Pt.Y, Window, nil);
PostMessage (Window, WM_NULL, 0, 0);
DestroyMenu (Menu);
end;

Неужели это нельзя сделать проще? И ещё: если в меню не выбирать ничего, то оно само не исчезает (надо обязательно что-то выбрать)-можно ли это исправить?
Спасибо!


andre   (2003-08-10 05:00:00) [1]

Ответ:
вставить
SetForegroundWindow (Window);
после
GetCursorPos (Pt);


Наверх

Титульная страница Поиск, карта сайта Написать письмо