メッセージ マップ (MFC)
更新 : 2007 年 11 月
ここでは、すべてのメッセージ マップ マクロの一覧、および CWnd のすべてのメッセージ マップ エントリとそれに対応するメンバ関数のプロトタイプの一覧を示します。
カテゴリ |
説明 |
---|---|
ユーザーのメニュー選択やキー入力によって生成される WM_COMMAND を処理します。 |
|
子ウィンドウからの通知メッセージを処理します。 |
|
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 メッセージ
コントロール通知
ユーザー定義メッセージ
コマンド メッセージ
登録済みのユーザー定義メッセージ
ユーザー インターフェイス更新メッセージ
メッセージ範囲
コマンド
更新ハンドラ メッセージ
コントロール通知
メッセージ マップ マクロは重要ですが、直接使用することは通常ありません。[プロパティ] ウィンドウでメッセージ処理関数とメッセージを関連付けると、メッセージ マップ エントリが自動的にソース ファイル内に作成されます。メッセージ マップ エントリの編集および追加は、[プロパティ] ウィンドウで行うことができます。
メモ : |
---|
[プロパティ] ウィンドウでは、メッセージ マップ範囲を指定できません。各メッセージ マップ エントリを手作業で記述してください。 |
メッセージ マップは Microsoft Foundation Class ライブラリの主要部分です。機能を理解しておいてください。関連ドキュメントも用意されています。