更改字符集后,MFC 应用程序的视觉外观发生了变化
MFC applications' visual appearence changed after changing character set
最初我的应用程序是在 Unicode 字符集(项目属性 -> 通用 -> 字符集)上构建的,但由于不可避免的原因,我不得不使用多字节字符集。属性表的外观立即变得不那么吸引人了。编辑框凹陷,按钮、选项卡不圆润,工作表的颜色已更改。此更改影响了我的属性表、页面和对话框。如何使应用程序看起来正常。我使用Windows 7。
谢谢。
您需要使用 Unicode char set 或修改文件 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应用程序,或者使用某些控件可能会遇到大问题。
- 视觉studo 2019中的漫画和静态/动态绑定
- 如何改变c++应用程序的视觉效果
- 视觉工作室项目.提取源文件夹名称
- 为什么我在尝试模板时遇到视觉工作室C++错误
- 视觉工作室 2017;启用 /permissive 时,类型 "const wchar_t *" 的参数与类型 "PWSTR" 的参数不兼容
- 视觉我希望一个函数在另一个函数C++中进行计算
- 视觉 如何循环访问C++中遵循类似格式的多个.txt文件?
- remove(str.begin(), str.end(), );无法正常工作(我正在使用视觉工作室 2012)
- 背包问题,视觉工作室问题
- 如何在视觉c ++项目中添加箭头键作为修饰键Microsoft
- 如果变量数据包含大于 vector 所有元素的整数,则仅在视觉工作室上接收"矢量下标超出范围"?
- 视觉C++未按所需顺序打印
- 视觉C++使用 map 来比较字符串中的每个单词
- C++11 中好友模板类的视觉C++错误
- 迭代器跳闸视觉C++ 2017 断言
- 视觉C++联盟,垃圾价值
- 无法安装由视觉C++制作的apk
- C++ 调试断言失败 - 矢量下标超出视觉工作室的范围
- 视觉C++:在 DLL 加载期间,全局变量初始化顺序是否具有确定性?
- 更改字符集后,MFC 应用程序的视觉外观发生了变化