【发布时间】:2015-02-20 09:18:00
【问题描述】:
在本文底部链接的三篇 MSDN 文章中,提到了预处理器宏 XM_CXSMICON。在上下文中,它应该是 system metric 的索引,它给出通知托盘中的 small 图标或此类图标的气球弹出窗口的宽度.
这是一个引用,逐字逐句:
NIIF_LARGE_ICON (0x00000010) 0x00000010。 Windows Vista 及更高版本。大版本的图标应该用作通知气球中的图标。这对应于尺寸为 SM_CXICON x SM_CYICON 的图标。如果未设置此标志,则使用尺寸为 XM_CXSMICON x SM_CYSMICON 的图标。
该引用中的其他三个宏 SM_CXICON、SM_CYICON 和 SM_CYSMICON 都按预期在 user32.h 中定义,但 Windows API 中没有头文件定义 XM_CXSMICON。搜索 MSDN 只返回本文末尾链接的 hits,所有这些都与 notify-icons 相关。
有了这些证据,我得出结论,这是一个错误,而宏实际上是 SM_CXSMICON,它在 user32.h 中的 SM_CYSMICON 上方的行上定义。
谁能证实这个猜测或提供更多信息?
有问题的三篇 MSDN 文章:
【问题讨论】:
-
我刚刚注意到我在同一篇文章中重复了一个 second 错误!
NIIF_LARGE_ICON在shellapi.h中定义,是0x00000020,而不是0x00000010,正如我引用的那段文字所述。