无法执行添加/移除操作,因为代码元素CxxxDlg.cpp是只读的

来源:互联网 发布:耳根算是网络写手吗? 编辑:程序博客网 时间:2024/06/10 06:28

       刚刚想在VS2005环境下添加菜单消息处理函数,在点击资源->消息页->找到想要添加的窗口消息后点添加时编译器就提示了“无法执行添加/移除操作,因为代码元素CxxxDlg是只读的”,想必可能是相应的CPP/H文件只读,查看了文件夹以及相关.cpp .h文件属性,结果是正常的,网上查了许久找到解决方案如下:

 

在BEGIN_MESSAGE_MAP(。。。)
//删掉你原先已经增加过的消息隐射函数
END_MESSAGE_MAP()
//一般是手动删除过 又没删干净 又重新添加了 这才导致的

1、重启VC
2、查看.h和.cpp文件的属性,有可能是只读的,修改属性后就可以了
3、关闭解决方案,删除ncb文件重新添加即可
4、打开Resource.h文件看看 一看就知道了 有些定义重复了 可以手动改掉 保存 编辑器重新加载。。。
5、把你要添加事件的对话框相应的类文件(*.h和*.cpp)给关了就可以了
6、实在不行就手动添加消息处理

 

NCB:NCB是“No Compile Browser”的缩写,其中存放了供ClassView、WizardBar和Component Gallery使用的信息,由VC开发环境自动生成