VC MFC 中 Class Wizard 不能正常工作的时候几种处理方法

来源:互联网 发布:淘宝青石板 编辑:程序博客网 时间:2024/05/18 19:41

    在VC中, 我们一般习惯用 MFC 中的Class Wizard 来生成消息处理函数, 一般点“类视图”, 然后选中要添加消息的类, 然后选择“事件”或者”消息“或者”重选“, 就可以实现自动添加映射函数的声明。 然而在很多时候, 由于自己添加了手工的消息处理函数, 重载函数, 或者修改了资源, 都会导致Class Wizard无法正常显示, 啥都看不到了, 根据以往经验一般有下面两种处理方式, 可能不是很全, 希望大家斧正。

 

1) 有时候是由于自己手工添加了函数导致 ncb 信息混乱, 这个时候可以把工程关掉, 然后手工删除所有 ncb 文件, debug 文件夹, release文件夹, 然后重新打开工程, 就可以自动重建 Class Wizard了。

 

2) 有时候是由于自己修改了资源文件的ID号, 比如把某个对话框的资源ID号码修改了, 这个时候要记住把原来对话框里面的
enum

 


{ IDD = XXX } (XXX 是你新修改的资源ID号码)也要同步修改, 然后关闭工程, 删除 ncb 文件, 再打开工程, 就可以重建 Class Wizard 信息了。

 

3) 在VC6里面还有一种情况是删除了
BEGIN_MESSAGE_MAP(...)

//{{AFX_MSG_MAP (...)

ON_WM_PAINT()

...

 

//}}AFX_MSG_MAP

END_MESSAGE_MAP()

的注解部分, 有会导致上述情况, VC6好像比较傻比, 靠这个注解来识别消息映射关系。 这个时候把这两行给补上就可以了

 

 

原创粉丝点击