1. 程式人生 > >MFC自定義訊息

MFC自定義訊息

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);