VS2008或2010 字符集改用多字节字符集时界面发生变化的解决方法
来源:互联网 发布:java在线聊天系统 编辑:程序博客网 时间:2024/06/04 04:21
再Win7系统下,用 VS2008建立工程后,默认的字符集为:使用 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_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
大家可能很快就看出了问题,
直接将上面的文件该为:
//#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的判断就可以了
- VS2008或2010 字符集改用多字节字符集时界面发生变化的解决方法
- 关于 VS2008 字符集改用多字节字符集时,控件显示样式变为旧样式的问题的解决
- 关于Visual Studio 2013 编译多字节字符集的解决方法
- 多字节字符集 (MBCS)
- 多字节字符集
- 多字节字符集 (MBCS)
- 多字节字符集错误
- 解决MFC项目使用多字节字符集后软件界面风格发生改变的问题
- unicode字符集与多字节字符集的转换
- 多字节字符集字符串的遍历问题
- unicode和多字节字符集的区别
- VS2013不支持多字节字符集的解决办法
- Unicode字符集 和 多字节字符集 关系
- Unicode字符集和多字节字符集关系
- Unicode字符集和多字节字符集关系
- Unicode字符集和多字节字符集关系
- Unicode字符集和多字节字符集关系
- Unicode字符集和多字节字符集关系
- 个人名片与诚信
- Windows窗口相关的一些概念解释
- make: Nothing to be done for `all'的解决办法
- http://www.pinterest.com/wyygdj08/%E5%95%86%E4%B8%98%E5%93%AA%E9%87%8C%E6%9C%89%E6%89%BE%E5%B0%8F%E5
- 冒泡排序
- VS2008或2010 字符集改用多字节字符集时界面发生变化的解决方法
- 选择排序
- javaSE-多线程
- 使用_AppScan_进行扫描
- 多语言、多版本
- redhat 3
- 第17周项目24-委派任务
- 200 行 C 代码编写你的第一个垃圾收集器
- php获取昨天、本周、上周、本月、上个月、近三个月时间点