MFCにおけるメッセージマッピングマクロの実装方法
MFCメッセージマッピングマクロはメッセージを処理するマクロであり、MFCプログラムでよく使用されます。その実装は主にMFCのメッセージマッピングメカニズムに依存しています。
MFC メッセージマップ マクロの実装手順は次のとおりです。
- クラスのヘッダファイルで、DECLARE_MESSAGE_MAP マクロを使用してメッセージ マップ テーブルを宣言します。たとえば:
class CMyClass : public CWnd
{
DECLARE_MESSAGE_MAP()
};
- ソース・ファイルでは、 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()
- クラスに応じたメッセージ処理関数を追加します。例えば、
afx_msg LRESULT OnMyMessage(WPARAM wParam, LPARAM lParam);
afx_msg void OnCommand(UINT nCommandID);
- メッセージ処理関数では、必要に応じてメッセージを処理できます。例えば、
LRESULT CMyClass::OnMyMessage(WPARAM wParam, LPARAM lParam)
{
// 处理自定义消息的逻辑
return 0;
}
void CMyClass::OnCommand(UINT nCommandID)
{
// 处理命令消息的逻辑
}
MFCメッセージマッピングマクロの基本的な導入は以上になります。これらのマクロを使用することで、さまざまなタイプのメッセージを簡単に定義して処理できます。