非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 阅读(303) 评论(0)  编辑 收藏 引用


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


<2025年2月>
2627282930311
2345678
9101112131415
16171819202122
2324252627281
2345678

导航

统计

常用链接

留言簿

随笔分类

随笔档案

技术博客

技术站点

搜索

最新评论

阅读排行榜