1

我正在使用主题库来绘制一些在 Windows Vista 上运行良好的文本 - 但是,在 Windows XP 上,返回的 HTHEME 为 NULL。这是我正在使用的代码:

HTHEME hTheme = ::OpenThemeData(pParent, L"TEXTSTYLE");

hTheme 在 Vista 上有效,但在 Windows XP 上为 NULL。
我在 MSDN 上阅读了 OpenThemeData 和 Parts and States 的文档没有提到 XP 不支持 TEXTSTYLE(甚至 Google 也没有提出任何好的建议)。

4

2 回答 2

1

我想在 XP 上你仍然打开主题?如果您关闭了“泡泡糖”模式 - 即恢复为经典外观,那么主题 API 将全部失败,您需要使用旧版 API 来绘制框架元素。DrawFrameControl

于 2009-07-15T12:58:39.887 回答
1

Luna 主题(即随 XP 分发的 Microsoft 制作的主题)仅定义 Aero 的类和部分的子集(Windows Vista 和 7)。

如果您可以使用 Windows XP 和 Vista(或 7)的机器,您可以预览 Theme Explorer 实用程序定义的内容:http: //sourceforge.net/projects/mctrl/files/theme-explorer/

于 2012-06-13T11:06:14.223 回答