次の方法で共有


メッセージ マップ (MFC)

リファレンスのこのセクションでは、すべてのメッセージ マップ マクロとすべての CWnd メッセージ マップ エントリを、対応するメンバー関数のプロトタイプと共に示します。

分類

説明

WM_COMMAND メッセージ ハンドラー

ユーザーのメニュー選択またはメニューのアクセス キーによって生成される WM_COMMAND メッセージを処理します。

子ウィンドウの通知メッセージ ハンドラー

子ウィンドウからの通知メッセージを処理します。

WM_ メッセージ ハンドラー

WM_PAINT のような WM_ メッセージを処理します。

ユーザー定義メッセージ ハンドラー

ユーザー定義メッセージを処理します。

(このリファレンスで使用される用語と規則の詳細については、"How to Use the Message Map Cross-Reference (メッセージ マップ クロス リファレンスの使い方)" を参照してください)。

Windows はメッセージ指向オペレーティング システムであることが理由で、Windows 環境向けのプログラミングの大部分にはメッセージ処理が関係しています。 キーストロークやマウス クリックなどのイベントが発生するたびに、そのイベントを処理する必要があるアプリケーションに対してメッセージが送信されます。

Microsoft Foundation Class ライブラリには、メッセージベースのプログラミングに最適化されたプログラミング モデルが用意されています。 このモデルでは、特定のクラスに対してどの関数がさまざまなメッセージを処理するかを指定した "メッセージ マップ" を使用します。 メッセージ マップには、どの関数がどのメッセージを処理するかを指定する 1 つ以上のマクロが含まれています。 たとえば、ON_COMMAND マクロを含むメッセージ マップは、次のように記述されることがあります。

BEGIN_MESSAGE_MAP(CMyDoc, CDocument)
   ON_COMMAND(ID_MYCMD, &CMyDoc::OnMyCommand)
END_MESSAGE_MAP()

ON_COMMAND マクロは、メニュー、ボタン、およびアクセラレータ キーによって生成されるコマンド メッセージを処理するために使用します。 "Macros (マクロ)" は、次のものをマップする目的で使用できます。

Windows メッセージ

  • コントロールの通知

  • ユーザー定義メッセージ

コマンド メッセージ

  • 登録済みのユーザー定義メッセージ

  • ユーザー インターフェイス更新メッセージ

メッセージの範囲

  • コマンド

  • ハンドラー メッセージの更新

  • コントロールの通知

メッセージ マップ マクロは重要なマクロですが、通常は直接記述する必要はありません。 これは、開発者がメッセージとメッセージ処理関数を関連付けると、[プロパティ] ウィンドウでメッセージ マップ エントリがソース ファイル内に自動的に作成されるためです。 メッセージ マップ エントリは、[プロパティ] ウィンドウでいつでも編集および追加できます。

注意

[プロパティ] ウィンドウでは、メッセージ マップの範囲をサポートしていません。これらのメッセージ マップ エントリは、独自に作成する必要があります。

ただし、メッセージ マップは、Microsoft Foundation Class ライブラリの重要な部分です。 これらが何を実行するかを理解する必要があり、そのためのドキュメントが用意されています。

参照

その他の技術情報

構造体、スタイル、コールバック関数とメッセージ マップ