[C++][Visual Studio] [MFC] 新增使用者自定義訊息及訊息響應函式講解
阿新 • • 發佈:2018-12-15
一. 在對應類的標頭檔案中自定義訊息。
程式碼:
#define WM_MyMessage WM_USER+100
說明:
MFC自有的訊息都是在WM_USER內的,所以自定義的訊息要比WM_USER大。
二.在標頭檔案中宣告訊息處理函式
步驟:
在標頭檔案中宣告訊息處理函式,可用類嚮導中訊息->新增自定義訊息,新增的訊息名為WM_MyMessage,自動新增訊息處理函式。則系統自動在標頭檔案中新增訊息處理函式的宣告,.cpp檔案中新增訊息對映處理及訊息處理函式的定義,只需新增定義的具體內容即可。
補充:
訊息處理函式的定義:
afx_msg LRESULT CDialog1::OnMymessage(WPARAM wParam, LPARAM lParam)
{
return 0;
}
訊息對映處理:
BEGIN_MESSAGE_MAP(CDialog1, CDialogEx)
ON_MESSAGE(WM_MyMessage, &CDialog1::OnMymessage)
END_MESSAGE_MAP()
三.傳送自定義訊息
SendMessage(WM_MyMessage,0,0);
或者
PostMessage(WM_MyMessage,0,0);