メッセージ マップ (MFC)
リファレンスのこのセクションでは、すべての メッセージ マッピング マクロ とすべての CWnd
メッセージ マップ エントリを、対応するメンバー関数のプロトタイプと共に一覧表示します。
カテゴリ | 説明 |
---|---|
ON_COMMAND メッセージ ハンドラー |
ユーザー メニューの選択またはメニュー アクセス キーによって生成されたメッセージを処理 WM_COMMAND します。 |
子ウィンドウの通知メッセージ ハンドラー | 子ウィンドウからの通知メッセージを処理します。 |
WM_ メッセージ ハンドラー |
などのWM_PAINT メッセージを処理WM_ します。 |
ユーザー定義メッセージ ハンドラー | ユーザー定義メッセージを処理します。 |
(このリファレンスで使用される用語と規則の説明については、 メッセージ マップの相互参照を使用する方法。
Windows はメッセージ指向オペレーティング システムであることが理由で、Windows 環境向けのプログラミングの大部分にはメッセージ処理が関係しています。 キーストロークやマウス クリックなどのイベントが発生するたびに、そのイベントを処理する必要があるアプリケーションに対してメッセージが送信されます。
Microsoft Foundation Class ライブラリには、メッセージベースのプログラミングに最適化されたプログラミング モデルが用意されています。 このモデルでは、特定のクラスに対してどの関数がさまざまなメッセージを処理するかを指定した "メッセージ マップ" を使用します。 メッセージ マップには、どの関数がどのメッセージを処理するかを指定する 1 つ以上のマクロが含まれています。 たとえば、ON_COMMAND
マクロを含むメッセージ マップは、次のように記述されることがあります。
BEGIN_MESSAGE_MAP(CMyDoc, CDocument)
ON_COMMAND(ID_MYCMD, &CMyDoc::OnMyCommand)
END_MESSAGE_MAP()
ON_COMMAND
マクロは、メニュー、ボタン、およびアクセラレータ キーによって生成されるコマンド メッセージを処理するために使用します。 マクロ は、次のマップに使用できます。
Windows メッセージ
コントロールの通知
ユーザー定義メッセージ
コマンド メッセージ
登録済みのユーザー定義メッセージ
ユーザー インターフェイス更新メッセージ
メッセージの範囲
コマンド
ハンドラー メッセージの更新
コントロールの通知
メッセージ マップ マクロは重要なマクロですが、通常は直接記述する必要はありません。 これは、クラス ウィザードを使用してメッセージ処理関数をメッセージに関連付けると、ソース ファイルにメッセージ マップ エントリが自動的に作成されるためです。 メッセージ マップ エントリを編集または追加する場合は、いつでもクラス ウィザードを使用できます。
Note
クラス ウィザードでは、メッセージ マップ範囲はサポートされていません。 これらのメッセージ マップ エントリは、独自に作成する必要があります。
ただし、メッセージ マップは、Microsoft Foundation Class ライブラリの重要な部分です。 これらが何を実行するかを理解する必要があり、そのためのドキュメントが用意されています。
関連項目
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示