mohsen57
دوشنبه 06 تیر 1384, 15:36 عصر
من در برنامه ام یک ایکون کنار ساعت ویندوز قرار داده ام که وقتی روی آن کلیک بشود یک منوی PopUp باز میشود ولی وقتی که منو باز شد تا روی یکی از گزینه های منو کلیک نکنم منو بسته نمیشود یعنی اگر روی منطقه ایی خارج از منو کلیک کنم منو محو نمی شود. ولی منوی برنامه های دیگر که ایکون خو را کنار ساعت قرار داده اند درست عمل می کند.
این هم کدش:
procedure TMain.FormCreate(Sender: TObject);
begin
nid.cbSize := sizeof(nid);
nid.Wnd := handle;
nid.uID := 0;
nid.uFlags := NIF_ICON + NIF_MESSAGE + NIF_TIP;
nid.uCallbackMessage := WM_MOUSEMOVE;
nid.hIcon := Application.Icon.Handle;
nid.szTip := 'The Main Program';
Shell_NotifyIcon(NIM_ADD,@nid);
end;
procedure TMain.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
var
p : TPoint;
begin
if x = 515 then Application.Restore;
if x = 517 then
begin
GetCursorpos(p);
pm.Popup(p.X,p.Y);
end
end;
این هم کدش:
procedure TMain.FormCreate(Sender: TObject);
begin
nid.cbSize := sizeof(nid);
nid.Wnd := handle;
nid.uID := 0;
nid.uFlags := NIF_ICON + NIF_MESSAGE + NIF_TIP;
nid.uCallbackMessage := WM_MOUSEMOVE;
nid.hIcon := Application.Icon.Handle;
nid.szTip := 'The Main Program';
Shell_NotifyIcon(NIM_ADD,@nid);
end;
procedure TMain.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
var
p : TPoint;
begin
if x = 515 then Application.Restore;
if x = 517 then
begin
GetCursorpos(p);
pm.Popup(p.X,p.Y);
end
end;