Помещаем иконку в трей на Delphi
uses
ShellApi;
const
WM_ICONTRAY = WM_USER + 1;
type
TMainForm = class(TForm)
procedure FormCreate(Sender: TObject);
private
TrayIconData: TNotifyIconData;
{ Private declarations }
public
{ Public declarations }
procedure TrayMessage(var Msg: TMessage); message WM_ICONTRAY;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
with TrayIconData do
begin
cbSize:= SizeOf(TrayIconData);
Wnd:= Handle;
uID:= 0;
uFlags:= NIF_MESSAGE + NIF_ICON + NIF_TIP;
uCallbackMessage:= WM_ICONTRAY;
hIcon:= Application.Icon.Handle;
szTip:= 'Допустим, название Вашего приложения';
end;
Shell_NotifyIcon(NIM_ADD, @TrayIconData);
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
Shell_NotifyIcon(NIM_DELETE, @TrayIconData);
end;
procedure TForm1.TrayMessage(var Msg: TMessage);
var
P: TPoint;
begin
case Msg.LParam of
WM_LBUTTONDOWN:
ShowMessage('Нажата левая кнопка мыши');
WM_RBUTTONDOWN:
begin
GetCursorPos(p);
PopupMenu1.Popup(P.X, P.Y);
end;
end;
end;
Комментариев нет:
Отправить комментарий