メッセージ マップ (MFC)

更新 : 2007 年 11 月

ここでは、すべてのメッセージ マップ マクロの一覧、および CWnd のすべてのメッセージ マップ エントリとそれに対応するメンバ関数のプロトタイプの一覧を示します。

カテゴリ

説明

WM_COMMAND メッセージ ハンドラ

ユーザーのメニュー選択やキー入力によって生成される WM_COMMAND を処理します。

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

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

WM_ で始まるメッセージのハンドラ

WM_PAINT など、WM_ で始まるメッセージを処理します。

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

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

このリファレンスで使用する用語と規約については、「メッセージ マップ クロス リファレンスの使い方」を参照してください。

Windows はメッセージ指向のオペレーティング システムなので、Windows 環境のプログラミングでは頻繁にメッセージを扱います。キーストロークやマウス クリックなどのイベントが発生すると、メッセージがアプリケーションに送られ、イベントが処理されます。

Microsoft Foundation Class ライブラリには、メッセージ ベースのプログラミング用に最適化されたプログラミング モデルが用意されています。このモデルでは、"メッセージ マップ" を使用して、特定のクラスの各種メッセージを処理する関数を指定します。メッセージ マップは、メッセージと処理関数を対応付けるマクロで構成されます。たとえば、ON_COMMAND マクロはメッセージ マップで次のように使われます。

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

ON_COMMAND マクロでは、メニュー、ボタン、およびアクセラレータ キーで発生したコマンド メッセージを扱います。マクロによって、以下のメッセージを対応付けることができます。

Windows メッセージ

  • コントロール通知

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

コマンド メッセージ

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

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

メッセージ範囲

  • コマンド

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

  • コントロール通知

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

0x0cx6b1.alert_note(ja-jp,VS.90).gifメモ :

[プロパティ] ウィンドウでは、メッセージ マップ範囲を指定できません。各メッセージ マップ エントリを手作業で記述してください。

メッセージ マップは Microsoft Foundation Class ライブラリの主要部分です。機能を理解しておいてください。関連ドキュメントも用意されています。

参照

その他の技術情報

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