![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
PopupMenu + иконка в трее — не закрывается нормально... [D7, Win2k]
Dmy © (2004-09-25 16:32:00)Создал иконку в трее срадствами WinAPI и подключил к ней PopupMenu таким образом:
procedure TfmPreferences.IconCallBackMessage(var Msg: TMessage);
var
P: TPoint;
begin
if Cardinal(Msg.LParam) = WM_RBUTTONDOWN then
begin
GetCursorPos(P);
pmMenu.Popup(P.X, P.Y);
PostMessage(self.Handle, WM_USER, 0, 0);
end;
end;
Всё бы хорошо, но PopupMenu должно при потере фокуса закрываться, а оно не закрывается до тех пор, пока не нажмёшь на меню или окно программы... :Ъ Подскажите, как бороться.
Stefan (2004-09-25 16:48:00) [1]Попробуй поменять содержимое твоей процедуры
begin
case Cardinal(Msg.LParam) of
WM_LBUTTONUP: begin // левая кнопка мыши
SetForegroundWindow(self.Handle);
end;
WM_RBUTTONUP: begin // правая кнопка мыши
GetCursorPos(P);
SetForegroundWindow(self.Handle);
PopupMenu1.Popup(P.X, P.Y);
end;
end;
SetForegroundWindow(self.Handle);
end;