如何实施状态栏图标的工具提示

为状态栏图标显示解释信息的一种非侵入式方法是实施工具提示。 工具提示会在单击后消失,但也可以指定一个超时值。

需要了解的事项

技术

先决条件

  • C/C++
  • Windows 用户界面编程

说明

实现状态栏图标的工具提示

以下代码片段介绍了如何为状态栏图标添加气球工具提示。

#define ARRAYSIZE(a) (sizeof(a)/sizeof(a[0]))

NOTIFYICONDATA IconData = {0};

IconData.cbSize = sizeof(IconData);
IconData.hWnd   = hwndNI;
IconData.uFlags = NIF_INFO;

HRESULT hr = StringCchCopy(IconData.szInfo, 
                           ARRAYSIZE(IconData.szInfo), 
                           TEXT("Your message text goes here."));

if(FAILED(hr))
{
  // TODO: Write an error handler in case the call to StringCchCopy fails.
}
IconData.uTimeout = 15000; // in milliseconds

Shell_NotifyIcon(NIM_MODIFY, &IconData);
            

注解

有关状态栏的详细讨论,请参阅任务栏

要显示气球工具提示,需要在 NOTIFYICONDATA 结构中设置 NIF_INFO 标志,并使用 szInfouTimeout 成员来指定工具提示文本和超时持续时间。

使用工具提示控件