MFC プログラミングでメッセージ マッピングを実現の方法
MFC プログラミングでは、コントロールやウィンドウのメッセージを処理するためにメッセージ マッピングを追加できます。以下はメッセージ マッピングを実装する手順です。
- メッセージ映射を追加するクラスのヘッダーファイル(通常はxxx.hファイル)を開きます。
- クラス宣言にメッセージマップ関数の宣言を追加します。例えば、ボタンクリックメッセージを処理したい場合は、クラス宣言に次のコードを追加できます:
- afx_msg void OnBnClickedButton();
- afx_msg は MFC フレームワークのマクロで、メッセージマップ関数として宣言するために利用されます。
- クラスの実装ファイル(通常はxxx.cppファイル)にメッセージマッピング関数の定義を追加する。たとえば、上記の宣言されたボタンクリックメッセージマッピング関数を実装するには、以下のコードを追加する。
- void CMyDlg::OnBnClickedButton()
{
// ボタンクリックイベントを処理するコード
} - 注意:CMyDlgはクラス名のため、実際の状況に応じて置き換えてください。
- メッセージマップにメッセージのマッピングを追加するには、クラスの実装ファイルで BEGIN_MESSAGE_MAP と END_MESSAGE_MAP の間のコードブロックにメッセージのマッピングを追加します。たとえば、ボタンクリックのメッセージマップに次のコードを追加します。
- BEGIN_MESSAGE_MAP(CMyDlg, CDialog)
ON_BN_CLICKED(IDC_BUTTON, CMyDlg::OnBnClickedButton)
END_MESSAGE_MAP() - 注意:クラス名はCMyDlg、ボタンIDはIDC_BUTTON、メッセージマップで追加した関数はOnBnClickedButtonです。実際の内容に応じて置き換えてください。
上記の手順により、ボタンクリックメッセージのメッセージマッピングが実装されました。ボタンがクリックされると 対応するメッセージマッピング関数が呼び出され、この関数のボタンクリックイベントの論理を処理できます。他のタイプのメッセージも同様の方法でメッセージマッピングを実装できます。