[VC++8.0]ON_MESSAGEマクロとPostMessage

  • ON_MESSAGEについて
    https://msdn.microsoft.com/ja-jp/library/k35k2bfs(v=vs.90).aspx

  • メソッド:ON_MESSAGE(message, memberFxn )

    • 引数:
    • message:メッセージ ID
    • memberFxn:メッセージが割り当てられるメッセージ処理関数名
      関数の型は afx_msg LRESULT (CWnd::*)(WPARAM, LPARAM) にする必要があります。
//ヘッダー部
#define WM_USER 0
#define WM_MYMESSAGE (WM_USER + 100)
// CPP本体
// メッセージマップ
BEGIN_MESSAGE_MAP(CMyWnd2, CWnd)
   ON_MESSAGE(WM_MYMESSAGE, OnMyMessage)
END_MESSAGE_MAP()
~~~
// メッセージ処理関数定義
afx_msg LRESULT OnMyMessage(WPARAM wParam, LPARAM lParam);
~~~
// メッセージ処理関数実装部
LRESULT CMyWnd2::OnMyMessage(WPARAM wParam, LPARAM lParam)
{
   MessageBox(_T("LRESULT CXXXXXXDlg::OnMyMessage(WPARAM wParam, LPARAM lParam)"));
   UNREFERENCED_PARAMETER(wParam);
   UNREFERENCED_PARAMETER(lParam);
   // Handle message here.
   return 0;
}
// メッセージポスト
void CMyWnd2::OnBnClickedPost()
{
    //メッセージテスト
    PostMessage(WM_MYMESSAGE);
}

コメント

タイトルとURLをコピーしました