Вниз
Скачать: CL | DM;

PopupMenu + иконка в трее — не закрывается нормально...   Найти похожие ветки 

 
Dmy   (2004-09-25 16:32) [0]

Создал иконку в трее срадствами 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) [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;



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.021 c
4-1094149104
den.is
2004-09-02 22:18
2004.10.10
вызов Explorer-а с заданным полем Адрес.


14-1095699462
}|{yk
2004-09-20 20:57
2004.10.10
Группа Тартак, или украинский рэп


14-1095359914
Polevi
2004-09-16 22:38
2004.10.10
зенит чемпион


4-1094119684
Rudis
2004-09-02 14:08
2004.10.10
Как выполнить финанльные операции в DLL пр ее выгрузке из памяти?


14-1095956023
VEG
2004-09-23 20:13
2004.10.10
У нас было землетрясение




   Наверх