- .h
- ...
- #define WM_USER_SELF (WM_USER + 12345) /* 步骤 1, 定义消息类型值 */
- ...
- class CMFC?Dlg : public CDialogEx
- {
- ...
- public:
- afx_msg void OnBnClickedButton1();
- afx_msg LRESULT OnMsgSelf(WPARAM wParam, LPARAM lParam); /* 步骤 2, 声明消息函数 */
- /* 函数原型 LRESULT (__thiscall CWnd::* )(WPARAM,LPARAM)*/
- };
- .cpp
- ...
- BEGIN_MESSAGE_MAP(CMFC 自定义消息 Dlg, CDialogEx)
- ON_MESSAGE(WM_USER_SELF, OnMsgSelf) /* 步骤 3, 映射消息 */
- ...
- END_MESSAGE_MAP()
- ...
- void CMFC?Dlg::OnBnClickedButton1()
- {
- // 自定义消息
- ::SendMessage(GetSafeHwnd(), WM_USER_SELF, 0, 0); /* 步骤 5, 调用自定义消息 */
- }
- LRESULT CMFC?Dlg::OnMsgSelf(WPARAM wParam, LPARAM lParam) /* 步骤 4, 定义消息函数 */
- {
- ::MessageBox(0, _T("Text"), _T("Caption"), 0);
- return 0;
- }
来源: http://www.bubuko.com/infodetail-3464851.html