Delphi TTrayIcon BalloonFlags自定义图标

时间:2015-02-13 09:57:32

标签: delphi winapi

我想更改气球中的图标。

TrayIcon1.BalloonFlags := bfWarning;

此类型只能选择四种图标。 我想把自己的图标。 救救我..

1 个答案:

答案 0 :(得分:0)

此控件是Win32 API Shell_NotifyIcon的包装器。因此,它主要向您反映平台提供的功能。

可用图标在相关结构的文档NOTIFYICONDATA中描述。选项包括:

  
      
  • NIIF_NONE:没有图标。
  •   
  • NIIF_INFO:信息图标。
  •   
  • NIIF_WARNING:警告图标。
  •   
  • NIIF_ERROR:错误图标。
  •   
  • NIIF_USER:Windows XP SP2及更高版本。 Windows XP:使用hIcon中标识的图标作为通知气球的标题图标。视窗   Vista及更高版本:使用hBalloonIcon中标识的图标作为   通知气球的标题图标。
  •   

这意味着底层API支持用户图标。但是Delphi包装器不允许您访问该功能。

解决方案是直接致电Shell_NotifyIcon,指定NIIF_USER并在hBalloonIcon中传递图标。如果你的代码在XP上执行,或者在hIcon中。