在看孙鑫的MFC开发的教程时候,发现VS2008不能像开发工具VC++6.0那样,直接在类文件上右击选择“Add Window Message Handles”来添加消息映射,找了好久也没找到。原来VS2008把这个功能放在右边的对话框了。当我们在类资源中选择CTestView这个类的时候,就有相应的视图出现,提供给用户选择添加事件还是消息。这儿我们添加WM_Create消息。
添加成功后在View类的头文件和cpp文件中可以发现如下的三处被修改了。
第一处:
// 生成的消息映射函数
protected:
DECLARE_MESSAGE_MAP()
public:
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
第二处:
// CCheckView
IMPLEMENT_DYNCREATE(CCheckView, CView)
BEGIN_MESSAGE_MAP(CCheckView, CView)
// 标准打印命令
ON_COMMAND(ID_FILE_PRINT, &CView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_DIRECT, &CView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_PREVIEW, &CView::OnFilePrintPreview)
ON_WM_CREATE()
END_MESSAGE_MAP()
第三处:
// CCheckView 消息处理程序
int CCheckView::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CView::OnCreate(lpCreateStruct) == -1)
return -1;
// TODO: 在此添加您专用的创建代码
return 0;
}
如果想删除此消息映射,单击属性窗口中此消息一行的下拉按钮,单击选项“<删除> OnCreate”,即可看到View类的此消息映射相关部分均被注释了。