在VC中创建一个基于对话框的工程,在主对话框中添加一些按钮之类的控件

,代码不改变,只是选择不同的字符集对话框的样式就会改变,这是怎么回事儿呢?(VS2010,不论.net选择什么版本效果都一样,应该不是框架的问题)截图如下:1、选择多字节... ,代码不改变,只是选择不同的字符集对话框的样式就会改变,这是怎么回事儿呢?(VS2010,不论.net选择什么版本效果都一样,应该不是框架的问题)
截图如下:
1、选择多字节字符集,就会是VC6中的样式
2、选择unicode字符集,就会是windows7中的样式
1、选择多字节字符集,就会是VC6中的样式
展开
 我来答
luosiyong
2011-08-27 · TA获得超过3256个赞
知道大有可为答主
回答量:1090
采纳率:0%
帮助的人:1632万
展开全部
打开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

改这个def可以在mbcs下实现windows7样式。
但是我建议使用unicode。
追问
我这样直接去掉,没什么问题吗?微软为什么这么整呢?
追答
去掉这个在自己机器上应该没问题: #ifdef _UNICODE
mbcs对有些样式在某些字符集的机器上可能不支持吧,详细你还是上微软官网看看吧
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式