2011-05-31 39 views
0

我创建了一个模式对话框,这样的Win32对话框按钮样式不是Windows 7的主题

IDD_FORMVIEW DIALOGEX 500, 200, 257, 98 
STYLE DS_ABSALIGN | DS_SETFONT | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU 

FONT 8, "MS Shell Dlg", 400, 0, 0x0 
BEGIN 
    LTEXT   "xxx",IDC_STATIC,31,32,194,16 
    PUSHBUTTON  "OK",IDOK,92,65,76,26 
END 

有没有什么办法让按钮的Windows 7主题?鼠标悬停突出显示的含义并不像现在那样沉闷,导致它在.NET应用程序中被默认设置,但我无法在这里看到它。

+0

你有没有嵌入任何清单允许使用XP +主题选项? – Necrolis 2011-05-31 10:47:32

+0

[如何更改Win32 API应用程序中的控件主题?]的可能的重复(http://stackoverflow.com/questions/3524009/how-to-change-the-control-themes-in-a-win32-api应用程序) – 2011-05-31 12:03:29

+0

有了这样的问题,包含描述开发环境的标签(visual studio/mingw等)也是相关的,因为解决方案可能因构建环境而异。 – 2011-05-31 12:05:27

回答

3

这是现存问题的明显重复。微软的规范答案是关于Enabling Visual Styles的MSDN文章。

基本上,您的应用程序需要有一个应用程序清单文件,它将Microsoft.Windows.Common-Controls 6.0.0.0程序集列为dependentAssembly。