下面以添加查找对话框FINDMSGSTRING消息的处理函数为例:
打开查找对话框后,当用户单击“查找下一个”或者其他按钮时,对话框会向父窗口发送FINDMSGSTRING消息,这不是MFC中预先定义好的消息,故不能通过ClassWizard添加消息处理函数,必须手动添加。添加过程如下:
1.先在CDemoView.h文件的头部“class CDemoView”语句前添加如下代码,将FINDMSGSTRING消息注册为WM_FINDREPLACE自定义消息:
const WM_FINDREPLACE = ::RegisterWindowMessage(FINDMSGSTRING);
2.同时在CDemoView.h文件的CDemoView类的声明中找到“DECLARE_MESSAGE_MAP()”语句,在这个语句前一行添加如下语句作为消息处理函数的声明:
afx_msg LONG OnFindReplace(WPARAM wParam, LPARAM lParam);
3.接着在CDemoView.cpp文件的头部找到“END_MESSAGE_MAP()”语句,在这个语句的前一行添加如下语句绑定消息WM_FINDREPLACE和消息处理函数OnFineReplace():
ON_REGISTERED_MESSAGE(WM_FINDREPLACE, OnFineReplace)
4.最后在CDemoView.cpp末尾编写CDemoView::OnFineReplace()函数了。
-《vc++6.0程序设计从入门到精通》