mfc自定义消息用法,mfc自定义消息映射

  mfc自定义消息用法,mfc自定义消息映射

  消息映射和循环机制是Windows程序运行的基本方式。MFC中有很多现成的消息句柄,但是当我们需要完成其他任务和自定义消息时,就会遇到一些困难。MFC ClassWizard中不允许添加用户自定义消息,所以我们必须在程序中添加相应的代码,这样我们才能像处理其他消息一样处理自定义消息。通常的做法是采取以下步骤:

  步骤1:定义消息。

  建议用户自定义消息至少为WM_USER 100,因为很多新控件也使用WM_USER消息。#定义WM_MY_MESSAGE (WM_USER 100)

  第二步:实现消息处理功能。该函数使用WPRAM和LPARAM参数,并返回LPESULT。LPESULT CMainFrame:onmy message(WPARAM WPARAM,LPARAM lParam)

  {

  //TODO:处理用户定义的消息

  .

  返回0;

  }

  第三步:解释类头文件AFX_MSG块中的消息处理函数:classcmainframe:public cmdiframenews。

  {

  .

  //通用消息映射函数

  受保护:

  //{{AFX_MSG(CMainFrame)

  afx _ msg int OnCreate(LPCREATESTRUCT LPCREATESTRUCT);

  afx _ msg void on timer(UINT nIDEvent);

  afx _ msg LRESULT onmy message(WPARAM WPARAM,LPARAM LPARAM);

  //}}AFX_MSG

  声明消息映射()

  }

  步骤4:在user类的message块中,使用ON_MESSAGE宏指令将消息映射到消息处理函数。BEGIN_MESSAGE_MAP(CMainFrame,CMDIFrameWnd)

  //{{AFX_MSG_MAP(CMainFrame)

  ON_WM_CREATE()

  ON_WM_TIMER()

  ON_MESSAGE(WM_MY_MESSAGE,OnMyMessage)

  //}}AFX_MSG_MAP

  END_MESSAGE_MAP()

  出发地:http://www.builder.com.cn/2007/1016/559150.shtml

mfc自定义消息用法,mfc自定义消息映射