Показать сообщение отдельно
Старый 21.08.2002, 14:34     # 3
Sh
Guest
 
Сообщения: n/a

Можешь попробовать так:
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.
Выдирал из своей проги - если что-то забыл или не поидет
- сообщай