MFC - 自定义消息

1.  在头文件stdafx.h中增加一个自定义消息宏  
      // 【1. 自定义消息 】
  #define WM_MY_MESSAGE WM_USER+1001


2.  在于增加新消息的窗口或对话框类的头文件中增加一个回调函数声明,注意要声明为 : public   

  public:

   // 【2. 自定义消息响应函数】  

  afx_msg LRESULT OnMyMessage(WPARAM wParam, LPARAM lParam);  


3.  在窗口或对话框的cpp文件的 BEGIN_MESSAGE_MAP,END_MESSAGE_MAP 中增加一行            
     // 【3. 绑定消息】
   ON_MESSAGE(WM_MY_MESSAGE, OnMyMessage)
                   
4.  在窗口或对话框的cpp文件中增加回调函数的实现,如:
  // 【4. 实现消息响应函数】
  LRESULT CCustomMessageDlg::OnMyMessage(WPARAM wParam, LPARAM lParam)
  {
     //MessageBox(_T("测试消息"));
     CString *pstrTemp = (CString*)lParam;
     MessageBox(*pstrTemp);
     delete pstrTemp;
     pstrTemp = NULL;
     return 0;
  }

5.  自定义消息的触发
  //【 5. 测试自定义消息】
  void CCustomMessageDlg::OnBnClickedButton1()
  {
     ::PostMessage(GetSafeHwnd(), WM_MY_MESSAGE, 0, LPARAM(new CString("测试自定义消息")));
  }

 

posted @ 2016-04-15 12:02  C/C++/Python/Java  阅读(311)  评论(0编辑  收藏  举报