如果自己從頭做的話,需要定義一個TNotifyIconData類型變量,這個變量定義在 ShellAPI 單元中。
需要設定這個變量的這幾個值。
_NOTIFYICONDATAA = record
cbSize: DWORD;
Wnd: HWND;
uID: UINT;
uFlags: UINT;
uCallbackMessage: UINT;
hIcon: HICON;
szTip: array [0..63] of AnsiChar;
end;
例如:
const WM_NID = WM_USER + 100;
procedure WMNID(var msg: TMessage); message WM_NID;
with NOtifyIcon do
begin
cbsize := SIzeof(TNOtifyIconData); // 記錄大小
wnd := self; //窗體句柄
uID := 1; // 圖示iD
UFLagS := NIF_MESSAGE or NIF_ICON or NIF_ TIP;
ucallbackMessage:= WM_NID; // 自定義消息
Hicon := application.icon.handle;
szTIP := 'pxb';
{$EXTERNALSYM NIF_MESSAGE}
NIF_MESSAGE = $00000001;
{$EXTERNALSYM NIF_ICON}
NIF_ICON = $00000002;
{$EXTERNALSYM NIF_TIP}
NIF_TIP = $00000004;
end;
shell_notifyICON(sss.add,@notifyicno);
case msg.lparams of
WM_RButtonClick:
begin
end;
WM_LButtonDBclidk:
begin
end;
end;
可以使用第三方控件,可以設定 showballMessage();顯示氣泡提示。通過設定,可以很快的做出一個托盤應用。 TZTRayICON;