代码之家  ›  专栏  ›  技术社区  ›  Mark Ingram

为什么OpenThemeData(pparent,l“textstyle”)在xp上失败?

  •  1
  • Mark Ingram  · 技术社区  · 16 年前

    我正在使用主题库绘制一些在Windows Vista上非常好用的文本,但是在Windows XP上,返回的htheme为空。这是我使用的代码:

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

    htheme在Vista上有效,但在Windows XP上为空。
    我已经阅读了 OpenThemeData Parts and States 在msdn上,没有提到textstyle在xp上不受支持(甚至谷歌也没有给出任何好的建议)。

    2 回复  |  直到 13 年前
        1
  •  1
  •   mity    13 年前

    主题luna(即与xp一起分发的Microsoft制造的主题)只定义Aero(Windows Vista和7)类和部分的子集。

    如果您可以访问带有Windows XP和Vista(或7)的计算机,则可以预览主题资源管理器实用程序定义的内容: http://sourceforge.net/projects/mctrl/files/theme-explorer/

        2
  •  1
  •   Chris Becke    16 年前

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