天天看點

VC添加自定義消息

在VC++中想加入自定義消息,以下方法可供參考 ……

1、首先定義消息:

[cpp] ​​view plain​​​​copy​​​​print​​​​?​​

  1. #define WM_MYMESSAGE (WM_USER+100) 

#define WM_MYMESSAGE (WM_USER+100)

2、在.h頭檔案中,加入消息響應函數:

  1. LONG OnMyMessage(WPARAM wParam, LPARAM lParam);  

LONG OnMyMessage(WPARAM wParam, LPARAM lParam);

該函數有規定的格式:

  1. LONG Function_Name(WPARAM wParam, LPARAM lParam);  

LONG Function_Name(WPARAM wParam, LPARAM lParam);

3、加入消息響應宏

   在響應該消息的類中,在消息響應塊中

  1. BEGIN_MESSAGE_MAP(CAboutDlg, CDialog) 
  2.   //{{AFX_MSG_MAP(CAboutDlg) 
  3.       // No message handlers 
  4.   //}}AFX_MSG_MAP 
  5. END_MESSAGE_MAP() 

BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)

  //{{AFX_MSG_MAP(CAboutDlg)

      // No message handlers

  //}}AFX_MSG_MAP

END_MESSAGE_MAP()

   加入以下語句:

  1. ON_MESSAGE(WM_MYMESSAGE, OnMyMessage) 

ON_MESSAGE(WM_MYMESSAGE, OnMyMessage)

   成為如下樣式:

  1.   ON_MESSAGE(WM_MYMESSAGE,OnMyMessage) 
  2. END_MESSAGE_MAP()  

  ON_MESSAGE(WM_MYMESSAGE,OnMyMessage)

END_MESSAGE_MAP()

4、在.cpp源檔案中,編輯消息響應函數:

  1. LONG CMyClass::OnMyMessage(WPARAM wParam, LPARAM lParam) 
  2.   // Do something 
  3.   ........ 

LONG CMyClass::OnMyMessage(WPARAM wParam, LPARAM lParam)

{

// Do something

........

}