前几天整天都在做MFC客户端,做的天昏地暗。毕竟第一次接触,很多东西不理解,都是一边找资料一边做的。出现问题往往就耗费很多功夫、时间,前两天的时间也就解决了两三个bug。
下面要说的是项目基本完成后发现的一个问题:查找对话框中无法输入中文,中文输入法输入的字在Edit框里会变成问号“?”。
一开始以为是CFindReplaceDialog的问题。因为除了查找对话框,其他Dialog都没有这个问题。但是百度、谷歌了半天也没找到靠谱的解决方法,似乎没有哪个属性或者函数是跟输入字符有关的。最后好像也是根据一些晚上的信息得来的灵感,考虑是系统设置(Win8)方面的问题。继续找资料,终于找到yhao浩的《win8.1中部分软件输入中文显示问号问题》(http://blog.csdn.net/yhao2014/article/details/44492525),参考后解决了问题。
首先,情况是这样的:(“中国”这两个字是对话框默认填上的)
输入中文变成?。。英文就没影响
怎么解决?点右下角语言栏,进入语言首选项。
在语言首选项里面看到,中文里面有个“美式键盘”。这个“美式键盘”其实没什么用,反正英文里面就有个“美式键盘”。点中文的“选项”。
删除美式键盘。然后记得在下面点保存按钮啊。(咳咳,别怕,以后想再添加回来的话请戳这篇文章http://iknow.lenovo.com/knowledgeDetail.html?doc_code=136206)
现在语言首选项是这样的。。最后查找对话框能够输入中文了。
===================================================================================================================
没想到在博客写的第一篇正经文章居然这么水。。而且这破问题还弄了我一晚上。。好啦好啦,知道自己太菜,以后会加油的。
本文讲述了在MFC项目中遇到Dialog输入中文显示为问号的bug,经过排查发现是Win8系统设置问题,通过删除中文语言包中的“美式键盘”并保存设置,成功解决了查找对话框无法输入中文的问题。

2633

被折叠的 条评论
为什么被折叠?



