C++/MFC修行の道(2)カスタムメッセージ

1859 ワード

カスタムメッセージは、次の5つのステップに分けられます.
  • 最初のステップ:hファイルにおける定義メッセージ
  • #define (      )    WM_USER+1001
    //  :#define WM_MYMESSAGE  WM_USER+1001
  • 第2ステップ:応答するクラスの.hファイルのAFX_MSGブロック宣言メッセージ処理関数:
  • eg: afx_msg LRESULT ONMYMessage(WPARAM wParam, LPARAM lParam);
  • 第3歩:応答するクラスの.cppファイルにメッセージマッピング部分を追加する:
  • eg: ON_MESSAGE(WM_MYMESSAGE, ONMYMessage)
    *  ,                *
    
  • 第4歩:応答するクラスの.cppで定義されたメッセージ処理関数の実装:
  • LRESULT   ::ONMYMessage(WPARAM wParam, LPARAM lParam)
    {
        //     ;                 
    }
  • 第5ステップ:メッセージ
  • を送信する
    //  1:
    HWND hwnd = ::GetParent(m_hWnd);//             
    SendMessage(hwnd,WM_MYMESSAGE,a,b);
    //  2:
    PostMessage(GetSafeHwnd(), WM_USER_THREADEND, 0, 0);
    //  GetSafeHwnd()            .