我有一个创建 Windows 本机气球工具提示的旧代码。在以前版本的 Windows 中,我可以通过以下调用使用 TTM_SETTIPBKCOLOR 和 TTM_SETTIPTEXTCOLOR 消息设置工具提示的自定义背景和前景色:
SendMessage hwndTooltip, TTM_SETTIPBKCOLOR, BackColorValue, 0
SendMessage hwndTooltip, TTM_SETTIPTEXTCOLOR, ForeColorValue, 0
但是现在,当我在 Windows 10/11 中的应用程序中使用操作系统视觉样式时,这些设置不再起作用。我总是看到带有默认系统颜色的工具提示:
是否可以使
TTM_SETTIPBKCOLOR
和 TTM_SETTIPTEXTCOLOR
消息在现代环境中工作?
在控件上启用视觉样式时,这些消息似乎会被忽略。您需要自定义绘制工具提示控件并手动绘制背景,或者通过调用
SetWindowTheme
Api 禁用工具提示控件上的视觉样式。将参数 pszSubAppName
和 pszSubIdList
设置为空字符串。