MFCにおけるメッセージマッピングマクロの実装方法

MFCメッセージマッピングマクロはメッセージを処理するマクロであり、MFCプログラムでよく使用されます。その実装は主にMFCのメッセージマッピングメカニズムに依存しています。

MFC メッセージマップ マクロの実装手順は次のとおりです。

  1. クラスのヘッダファイルで、DECLARE_MESSAGE_MAP マクロを使用してメッセージ マップ テーブルを宣言します。たとえば:
class CMyClass : public CWnd
{
  DECLARE_MESSAGE_MAP()
};
  1. ソース・ファイルでは、 BEGIN_MESSAGE_MAP および END_MESSAGE_MAP マクロを使用してメッセージマップテーブルを定義します。これら 2 つのマクロの間に、 ON_MESSAGE、 ON_WM_COMMAND などのマクロを使用してメッセージ処理関数を追加します。たとえば、
BEGIN_MESSAGE_MAP(CMyClass, CWnd)
  ON_MESSAGE(WM_MY_MESSAGE, OnMyMessage)
  ON_WM_COMMAND()
END_MESSAGE_MAP()
  1. クラスに応じたメッセージ処理関数を追加します。例えば、
afx_msg LRESULT OnMyMessage(WPARAM wParam, LPARAM lParam);
afx_msg void OnCommand(UINT nCommandID);
  1. メッセージ処理関数では、必要に応じてメッセージを処理できます。例えば、
LRESULT CMyClass::OnMyMessage(WPARAM wParam, LPARAM lParam)
{
  // 处理自定义消息的逻辑
  return 0;
}

void CMyClass::OnCommand(UINT nCommandID)
{
  // 处理命令消息的逻辑
}

MFCメッセージマッピングマクロの基本的な導入は以上になります。これらのマクロを使用することで、さまざまなタイプのメッセージを簡単に定義して処理できます。

bannerAds