MFCでメッセージをマップさせるメソッドを教えてください

メッセージ マッピング テーブルに適切なメッセージ処理関数を追加することで実現できます。具体的には、以下の手順で行います。

  1. クラスのヘッダーファイル(.hファイル)を開く
  2. DECLARE_MESSAGE_MAP()
  3. BEGIN_MESSAGE_MAP
  4. メッセージマップ終了
  5. BEGIN_MESSAGE_MAP
  6. END_MESSAGEMAP
  7. ON_MESSAGE
  8. ON_WM_XXXがネイティブの日本語で言い換えると

たとえば、WM_LBUTTONDOWN メッセージを処理する必要があると仮定します。

  1. クラスのヘッダファイルを開く。
  2. DECLARE_MESSAGE_MAP()
  3. BEGIN_MESSAGE_MAP
  4. Native Japanese: END_MESSAGE_MAP
  5. BEGIN_MESSAGE_MAP
  6. NATIVE_MESSAGE_MAP の終了
ON_WM_LBUTTONDOWN()
  1. クラスの実装ファイルにメッセージ処理関数の定義を追加します。
void CMyClass::OnLButtonDown(UINT nFlags, CPoint point)
{
    // 处理鼠标左键按下事件
}

上記の手順が完了したあと、ウィンドウが WM_LBUTTONDOWN メッセージを受信したときに、OnLButtonDown 関数が自動的に呼び出されて処理されます。

bannerAds