最初我的应用程序是基于 Unicode 字符集(项目属性 -> 常规 -> 字符集)构建的,但是由于不可避免的原因,我不得不使用多字节字符集。属性表的外观立即变得不那么吸引人了。编辑框凹陷,按钮、选项卡没有圆角,工作表的颜色也发生了变化。此更改影响了我的属性表、页面和对话框。如何让应用程序看起来正常。我使用 Windows 7。
谢谢。
您需要使用 Unicode 字符集或修改您的文件 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
您可以删除第一个#ifdef _UNICODE
和最后一个#endif
,您将获得具有多字节字符集的新控件样式,但这不是一个好主意,一些 MFC 控件(尤其是 VS 2010 中的新控件,例如 CMFCButton 控件)有问题在具有新视图样式的非 Unicode 字符集程序中。或者您需要改回 Unicode 应用程序或使用某些控件可能会遇到大问题。