Visual Studio
记事本或其他文本编辑器
在项目开发过程中,遇到资源窗口(也就是对话框界面)不能打开的情况,弹出的消息是 undefined keyword or key name ......省略号处为可能报错的原因
MFC项目中的窗口资源既可以从VS中用图形界面的方式访问,也可以用记事本等文本编辑器通过项目目录下后缀名为.rc的文件访问。如下的.rc文件,用记事本打开即可。
出现这种报错的原因,一般是source文件(后缀为rc的文件)内容出错,或者是source文件与resource.h文件内容不匹配导致。
我们可以打开这两个文件做个对比:resource.h中存放着窗体内各个控件的ID号,是一个唯一的数字,当然数字前面每个控件的ID最好也不要重复。
以我遇到的问题为例,我仔细看了resouce文件,发现有好几个控件的ID是重复的,于是给他们换了名字。再对比resource.h,发现那几个重名的控件在resource.h中没有给编号,于是在resource.h中给他们添加了ID和编号。如:#define IDC_LABEL_nx 1018 #define IDC_LABEL_ny 1019#define IDC_LABEL_Square 1020
编辑完保存后发现还是报原来的错误:undefined keyword or key name realsizecontrol ,于是我在rc文件中查找到 realsizecontrol 这个字段,发现是控件的属性,于是把这个字段注释掉,再次运行就可以了。
所以解决问题的方法就是根据报错的信息(如undefined keyword or key name realsizecontrol)手动查看和修改resource.h 和.rc文件。