在Visual Studio 2010中使用“命令按钮”MFC控件时遇到问题。
创建基于对话框的非Unicode MFC项目时
将命令按钮控件添加到初始对话框
当我构建并运行我的项目时,我得到:
当我点击其中一个按钮应该是复选框的区域时:
现在,我编辑项目属性并切换到Unicode字符集:
当我建立并运行时,Bingo。
我的问题是:是否可以在多字节字符集中使用?
谢谢!
答案 0 :(得分:1)
Common Control DLL的多字节版本中不支持某些内容。
我已经发现CEdit :: SetCueBanner不适用于多字节构建,但似乎所有"Windows Vista Common Controls" require you to build with the Unicode character set。
答案 1 :(得分:0)
所有Windows Common控件和Windows内核本身都在内部实现为UNICODE。为了向后兼容,确实支持MBCS。因此,如果使用像SetWindowTextA()
这样的API的ASCII / MBCS版本,它基本上将它从MBCS转换为UNICODE。微软正试图迫使开发人员从MBCS迁移到UNICODE。
要解决您的问题,没有MBCS版本的Command按钮。所以你必须切换到UNICODE字符集。时机已到。