VS2010 MFC 编程,字符集更改后,界面风格变化,如何解决?

时间:2021-12-01 20:13:47
开始编程时,使用默认的Unicode 字符集编写,因为需要现在改为多字节字符集(写txt文件,每个字符占用2个字节。例如保存" ab",如果读出的话"a+空格+b+空格")。
更改后界面变
VS2010 MFC 编程,字符集更改后,界面风格变化,如何解决?
原理啊是这样的 VS2010 MFC 编程,字符集更改后,界面风格变化,如何解决?
编译也通过了,找到方法说,更改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
界面是变回来了,但程序有错误崩溃了!
VS2010 MFC 编程,字符集更改后,界面风格变化,如何解决?
有没有人遇到过这样的情况,帮忙看看!

7 个解决方案

#1


是程序编写中有漏洞

#2


谁叫你全备注掉,要留一个
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"")

#3


直接写这个得了:
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"")

#4


没有全注释掉,中间的都留下来了,程序崩溃,提示堆已损坏,是不是程序有什么漏洞啊

#5


崩溃的时候在弹出的对话框按相应按钮进入调试,按Alt+7键查看Call Stack即“调用堆栈”里面从上到下列出的对应从里层到外层的函数调用历史。双击某一行可将光标定位到此次调用的源代码或汇编指令处,看不懂时双击下一行,直到能看懂为止。

#6


为什么不注释掉
//#ifdef _UNICODE
//#endif
就编译没有问题呢?
代码不知道哪里出问题了,调试看不懂,菜鸟一枚

#7


求问解决了吗?我也出现了这样的问题。

#1


是程序编写中有漏洞

#2


谁叫你全备注掉,要留一个
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"")

#3


直接写这个得了:
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"")

#4


没有全注释掉,中间的都留下来了,程序崩溃,提示堆已损坏,是不是程序有什么漏洞啊

#5


崩溃的时候在弹出的对话框按相应按钮进入调试,按Alt+7键查看Call Stack即“调用堆栈”里面从上到下列出的对应从里层到外层的函数调用历史。双击某一行可将光标定位到此次调用的源代码或汇编指令处,看不懂时双击下一行,直到能看懂为止。

#6


为什么不注释掉
//#ifdef _UNICODE
//#endif
就编译没有问题呢?
代码不知道哪里出问题了,调试看不懂,菜鸟一枚

#7


求问解决了吗?我也出现了这样的问题。