[対象バージョン]

Delphi 2.0J

[説明]

Delphiでタスクトレイにアイコンを登録する方法です。

[対処法]

WindowsAPIの Shell_NotifyIcon() を使用します。

uses に ShellAPI を追加します。

 

[サンプルソース]

procedure AddTrayIcon()
  var NifIconData: TNOTIFYICONDATA;
begin
  NifIconData.cbSize := sizeof(TNOTIFYICONDATA);

  {複数のアイコンを登録する場合、1..2..と増やします}
  NifIconData.uID := 1;

  {メッセージを受け取るウインドウハンドル}
  NifIconData.Wnd := Form1.Handle;

  {フラグ}
  {NIF_MESSAGE    メッセージを受けるとき}
  {NIF_ICON       アイコンを表示するとき}
  {NIF_TIP         チップヘルプを表示するとき}
  NifIconData.uFlags := Nif_Message+Nif_Icon+Nif_Tip;

  {受け取るメッセージ}
  NifIconData.uCallbackMessage := WM_USER;

  {登録するアイコンのハンドルを指定する}
  NifIconData.hIcon := Icon1.Handle;

  {チップヘルプ文字列登録}
  StrPLCopy(NifIconData.szTip, 'Sample', 64);

  {アイコン登録}
  Shell_NotifyIcon(NIM_ADD, @NifIconData);

  { 変更するとき Shell_NotifyIcon(NIM_MOIDFY, @NifIconData);}
  { 削除するとき Shell_NotifyIcon(NIM_DELETE, @NifIconData);}

end;


FAQ目次に戻る