在应用程序中禁用Vista样式控件

时间:2009-06-24 17:05:00

标签: c++ windows-vista controls styles

所以我正在尝试重新编译应用程序以添加一些次要功能。一切都很好,除了一件事。

旧版本具有所有windows-vista风格的对话框按钮。角落是圆角的,单选按钮看起来不同等等。

Example

如何开启这些功能?我希望它看起来/感觉像原始。

编辑:如果有人知道如何将该图片嵌入到内联中,那就去吧......我无法理解。

1 个答案:

答案 0 :(得分:2)

您的版本似乎有经典的窗口样式(不是Vista)。要在“他们的版本”中使用Vista样式,请检查标题中的某处是否有以下代码:

#ifdef _UNICODE
#if defined _M_IX86
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'\"")
#elif defined _M_IA64
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='ia64' publicKeyToken='6595b64144ccf1df' language='*'\"")
#elif defined _M_X64
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='amd64' publicKeyToken='6595b64144ccf1df' language='*'\"")
#else
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"")
#endif
#endif

如果那个代码在那里(我认为它应该在那里)你应该检查你是否编译了UNICODE版本(定义了_UNICODE)。

有关启用Vista公共控件的更多详细信息,请参阅MSDN Article