如何将对话框项的样式更改为测试模式下显示的样式?

Roo*_*kie 5 c++ windows-xp visual-studio-2008 visual-c++

当我通过 CTRL+T 快捷方式在 Visual Studio 2008 中测试我的对话框时,我可以看到带有整齐光滑边框的对话框项。但是当我编译项目并通过程序本身启动它时,它看起来像“3d”风格:每个对话框都有像旧的 Windows 98 风格的阴影。

我想使用测试模式显示的光滑的 1 像素边框。我如何在这两种风格之间启用/禁用?

这是这两种样式的示例,我想使用上面的样式:

在此处输入图片说明

小智 3

STEP1 将此代码添加到您的 stdafx.h 中:

#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_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
Run Code Online (Sandbox Code Playgroud)

关于方法 InitInstance() 的第 2 步:

    BOOL Ctest_stylesApp::InitInstance()
{
    INITCOMMONCONTROLSEX InitCtrls;
    InitCtrls.dwSize = sizeof(InitCtrls);
    InitCtrls.dwICC = ICC_WIN95_CLASSES;
    InitCommonControlsEx(&InitCtrls);
}
Run Code Online (Sandbox Code Playgroud)

我正在使用 Visual Studio 2010 并且它可以工作。