|
Можешь попробовать так:
const
WM_TRAYMSG = WM_USER+1;
....
type
TForm1 = class(TForm)
......
public
IconData: NotifyIconData;
procedure WMTrayMsg(var msg:TMsg); message WM_TRAYMSG;
end;
.......
procedure TForm1.FormCreate(Sender: TObject);
begin
.....
//------------------
fillchar(IconData,Sizeof(IconData),0);
IconData.cbSize:=Sizeof(IconData);
IconData.Wnd:=Handle;
IconData.hIcon:=Loadicon(HInstance,'MAINICON');
IconData.uFlags:=NIF_ICON or NIF_TIP or NIF_MESSAGE;
IconData.szTip:='Chat';
IconData.uCallbackMessage:=WM_TRAYMSG;
Shell_NotifyIcon(NIM_ADD,@IconData);
//----------------------
....
end;
procedure TForm1.WMTrayMsg(var msg: TMsg);
var
p:tpoint;
i,g:integer;
begin
case msg.wParam of
WM_LBUTTONDOWN:
begin
// Твой код
end;
WM_RBUTTONDOWN:
begin
// твой код
end;
end;
end;
P.S.
Выдирал из своей проги - если что-то забыл или не поидет
- сообщай
|