MFC自定義訊息
阿新 • • 發佈:2019-01-04
1. 定義全域性變數或巨集
#define WM_MyMessage (WM_USER + n)
n為數字到少大於100
或者用 const UINT WM_MYMESSAGE = WM_USER + n
一般可以加在stdafx.h 或resource.h 或*.app.h中。
他們都是全域性變數標頭檔案所以都可以.
2. 在所在類的*.H檔案增加訊息函式宣告.
protected:
//{{AFX_MSG(CChildView)
afx_msg LRESULT OnMyMessage(WPARAM wParam, LPARAM lParam);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
3.在所在類的實現檔案*.CPP檔案中增加訊息對映 和實現訊息處理函式
BEGIN_MESSAGE_MAP(CChildView,CWnd )
//{{AFX_MSG_MAP(CChildView)
ON_MESSAGE(WM_MyMessage, OnMyMessage)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
也就是說WM_MyMessage訊息對應OnMyMessage函式
LRESULT 類名::OnMyMessage(WPARAM wParam, LPARAM lParam)
{
return 0;
}
4. 以後就可以隨時
SendMessage(WM_MyMessage,wPARAM,lPARAM);