wxWidgets中的XP视觉风格?

时间:2009-10-07 18:29:28

标签: c++ wxwidgets

我想知道是否可以在wxWidgets中启用XP Visual Style, 因为默认情况下没有启用。

所有控件均采用经典Windows风格绘制。

我正在使用wxPack打包的wxMSW,但没有wxFormBuilder(http://wxpack.sourceforge.net/)和MSVC ++ 2008 EE作为ide。

那么,是否可以在wxWidgets应用程序中启用XP Visual Style?

2 个答案:

答案 0 :(得分:4)

假设wxWidgets是 - 在Windows上 - 围绕相应的Windows控件的简单包装器,为了启用新的XP主题,您需要向项目添加一个清单,将清单列为公共控件dll版本6作为依赖程序集。

Visual Studio有一个#pragma指令,允许程序员轻松地在其清单中插入依赖项。将以下内容放在cpp或头文件中。

#pragma comment(linker,"/manifestdependency:\"type='win32' "\
               "name='Microsoft.Windows.Common-Controls' "\
               "version='6.0.0.0' "\
               "processorArchitecture='x86' "\
               "publicKeyToken='6595b64144ccf1df' "\
               "language='*' "\
               "\"")

如果您使用的是其他构建环境,则需要遵循该环境规则来创建清单文件,并将其作为资源添加到exe文件中。

答案 1 :(得分:2)

另一种可能性(不需要MSVC特定的编译指示)是在.rc文件中#include“wx / msw / wx.rc”。 (见http://www.wxwidgets.org/docs/faqmsw.htm#winxp