![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
System Tray [D7, WinXP]
dkDimon © (2003-11-18 22:18:00)
Всем привет... Не кодил 8 месяцев, поэтому все забыл напрочь... В общем, ситуация такая... Создаю иконку в систрее. Обрабатываю WM_RBUTTONUP на показ popup. Забыл как обрабатывать, чтобы при клике вне меню, меню закрывалось... :(
Владислав (2003-11-21 17:08:00) [1]
Ну да. Добавь тогда вот это:
PostMessage(hwnd, WM_NULL, 0, 0);
после SetForegroundWindow(MainFrm.Handle);
jonni (2003-11-21 15:53:00) [2]
gde to eto uzhe obsuzhdalos... i reshilos" na skol"ko ya pomnyu posilaniem WM_NULL...
jonni (2003-11-21 15:53:00) [3]
gde to eto uzhe obsuzhdalos... i reshilos" na skol"ko ya pomnyu posilaniem WM_NULL...
dkDimon (2003-11-21 13:08:00) [4]
procedure TMainFrm.EnrIcon(var Msg: TMessage);
begin
case Msg.LParam of
WM_RBUTTONUP:
begin
IconPopup.Popup(Mouse.CursorPos.X, Mouse.CursorPos.Y);
end;
WM_LBUTTONDBLCLK:
begin
MainFrm.Show;
Application.Restore;
SetForegroundWindow(MainFrm.Handle);
end;
end;
end;
Правая кнопка мыши - показ меню. Двойной щелчок левой - показ окна прогр. Тут еще какая-то обработка должны быть на скрытие меню вроде бы..
Rouse_ (2003-11-21 10:03:00) [5]
Покажи код как не получается...
Владислав (2003-11-20 15:59:00) [6]
У меня работает.
dkDimon (2003-11-19 23:17:00) [7]
Ну и... не закрывается оно... и получается вообще какая-то чушь...
Владислав (2003-11-19 18:30:00) [8]SetForegroundWindow(hwnd);
GetCursorPos(&pt);
res = TrackPopupMenu(hmenu,
0,
pt.x,
pt.y,
0,
hwnd,
NULL);
hwnd - это окно приложения.
Rouse_ (2003-11-18 23:03:00) [9]
SetForegroundWindow((Owner as TWinControl).Handle);
Желаю успехов