visual c++运行classwizard时,报出如题目所示的错误,点击“确定”,classWizard显示内容为空。
引起这个错误的原因有:
1.消息映射的id与resource.h中的id不匹配;
2.自行添加的消息占用了系统消息的映射位置。
对于第二种错误说明如下:
一个典型的类消息映射具有如下形式(mfc自动生成的代码)
BEGIN_MESSAGE_MAP(CThunderCDlg, CDialog)
//{{AFX_MSG_MAP(CThunderCDlg)
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
ON_BN_CLICKED(IDC_NOPAD_INPUT, OnNopadInput)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
其中橙色虽然为注释代码,但其表明其内区域为系统消息映射部分,classwizard就是依靠这部分说明工作,如果将自定义的消息映射加入了橙色区域,就会出现题目中所述的错误。
正确添加自定义消息映射的位置应该为橙色区域外,但在begin_message_mab与end_message_map之间。
引起这个错误的原因有:
1.消息映射的id与resource.h中的id不匹配;
2.自行添加的消息占用了系统消息的映射位置。
对于第二种错误说明如下:
一个典型的类消息映射具有如下形式(mfc自动生成的代码)
BEGIN_MESSAGE_MAP(CThunderCDlg, CDialog)
//{{AFX_MSG_MAP(CThunderCDlg)
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
ON_BN_CLICKED(IDC_NOPAD_INPUT, OnNopadInput)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
其中橙色虽然为注释代码,但其表明其内区域为系统消息映射部分,classwizard就是依靠这部分说明工作,如果将自定义的消息映射加入了橙色区域,就会出现题目中所述的错误。
正确添加自定义消息映射的位置应该为橙色区域外,但在begin_message_mab与end_message_map之间。