Форум: "WinAPI";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.11;
Скачать: [xml.tar.bz2];




Вниз

Пресловутый TrayIcon - проблема с PopupMenu 


zoid   (2002-02-11 14:49) [0]

суть - вызываю на иконке в трее попапменю, и чтобы оно исчезло, обязательно надо щелкнуть по какому-нить пункту, иначе это меню так и висит там. вот код...

const
wm_IconMessage = wm_User;

type
TMainForm = class(TForm)
...
...
private

nid: TNotifyIconData;
public

procedure IconTray(var Msg:TMessage);
message wm_IconMessage;
end;

var
MainForm: TMainForm;

implementation

{$R *.dfm}
{$R Icon.RES}


procedure TMainForm.IconTray(var Msg:TMessage);
var
Coord:TPoint;
begin
if Msg.LParam= wm_rbuttondown then
begin
GetCursorPos(Coord);
PopupMnu.Popup(Coord.X,Coord.Y);
end;
if Msg.LParam=wm_lbuttondblclk then pupPrefClick(self);

end;


procedure TMainForm.FormCreate(Sender: TObject);
begin
Icon.Handle:=LoadIcon(hinstance,"SILENT");
nid.cbSize:=sizeof(nid);
nid.Wnd:=Handle;
nid.uID:=1;
nid.uCallbackMessage:=wm_IconMessage;
nid.hIcon:=Icon.Handle;
nid.szTip:= "Running...";
nid.uFlags:=nif_Message or nif_Icon or nif_Tip;
Shell_NotifyIcon(NIM_ADD,@nid);
end;



Виктор Щербаков   (2002-02-11 14:57) [1]

GetCursorPos(Coord);
SetForegroundWindow(MainForm.Handle);
PopupMnu.Popup(Coord.X, Coord.Y);
SetForegroundWindow(MainForm.Handle);

Должно работать. По крайней мере у меня глюков не было.



Юрий Зотов   (2002-02-11 17:04) [2]

Сразу после PopupMnu.Popup пошлите собственному окну WM_NULL:

PostMessage(Handle, WM_NULL, 0, 0);

И меню должно нормально заработать.



zoid   (2002-02-12 08:22) [3]

>>Виктор Щербаков
Спасибо, помогло.




Форум: "WinAPI";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.11;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.016 c
1-32888           BAHO                  2002-03-28 19:45  2002.04.11  
Помогите с ListView...


4-33009           dimich                2002-02-11 11:15  2002.04.11  
Как можно через WinApi cделать ShowMessage!!!


1-32776           Roman_Tutov@mail.ru   2002-03-28 14:31  2002.04.11  
Текущее время


14-32961          Кулюкин Олег          2002-03-01 17:04  2002.04.11  
Кому какие англоязычные конференции нравятся?


1-32756           Евгений-Зеленоград    2002-03-29 21:44  2002.04.11  
Математические действия с датой (TdateTime)