更改字符集后,MFC应用程序的视觉外观发生了变化

时间:2013-10-24 05:27:25

标签: c++ mfc dialog

最初我的应用程序是基于Unicode字符集(项目属性 - > general - >字符集)构建的,但由于不可避免的原因,我不得不使用多字节字符集。并且立即出现的财产表变得不那么吸引人了。编辑框凹陷,按钮,标签没有圆角,纸张的颜色也发生了变化。此更改会影响我的属性表,页面和对话框。如何使应用程序看起来正常。 我使用Windows 7。

感谢。

1 个答案:

答案 0 :(得分:1)

您需要使用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,您将获得具有Multy字节字符集的新控件样式,但它不是一个好主意,一些MFC控件(尤其是VS 2010中的新控件(例如CMFCButton控件)在具有新视图样式的非Unicode字符集程序中存在问题。 或者您需要更改回Unicode应用程序或使用某些控件Big problems