我正在使用主题库来绘制一些在Windows Vista上绝对正常的文本 – 但是,在Windows XP上,返回的HTHEME是NULL。 这是我正在使用的代码:
HTHEME hTheme = ::OpenThemeData(pParent, L"TEXTSTYLE");
hTheme在Vista上有效,在Windows XP上为NULL。
我已经阅读了MSDN上的OpenThemeData和Parts和States的文档,但没有提到TEXTSTYLE在XP上不被支持(即使Google没有提出任何好的build议)。
主题Luna(即微软制作的XP主题)只定义了Aero(Windows Vista和7)的部分类别和部分。
如果您有权访问Windows XP和Vista(或7)的计算机,则可以预览Theme Explorer实用程序定义的内容: http : //sourceforge.net/projects/mctrl/files/theme-explorer/
我认为在XP上你仍然有主题打开? 如果您关闭了“泡泡糖”模式 – 即恢复为经典外观,则Theming API将全部失败,并且您期望使用旧API来绘制框架元素。 DrawFrameControl等