非MFC预定义好的消息在MFC程序中如何处理?

下面以添加查找对话框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程序设计从入门到精通》

posted on 2012-04-24 10:09 ylka 阅读(279) 评论(0)  编辑 收藏 引用


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


<2012年4月>
25262728293031
1234567
891011121314
15161718192021
22232425262728
293012345

导航

统计

常用链接

留言簿

随笔分类

随笔档案

技术博客

技术站点

搜索

最新评论

阅读排行榜