メッセージの種類
どのようなメッセージのハンドラーを記述しますか。3 種類の主要カテゴリがあります:
Windows メッセージ
これは WM_COMMANDを除く WM_ のプレフィックス以降、主にメッセージが含まれます。ウィンドウ メッセージはウィンドウとビューによって処理されます。これらのメッセージとともにメッセージの処理方法を決定に使用するパラメーターがあります。
コントロール通知
これは、コントロールおよびそのほかの子ウィンドウからの親ウィンドウに WM_COMMAND の通知メッセージが含まれています。たとえば、エディット コントロールは、ユーザーがエディット コントロールのテキストが変更される可能性があるアクションをとったら親に WM_COMMAND の含むメッセージを EN_CHANGE のコントロール通知コード送信します。メッセージのペインのハンドラーは、コントロールのテキストの検索などの適切な方法で通知メッセージは、応答します。
フレームワークは WM_ の他のメッセージなどのコントロール通知のメッセージのパスを指定します。ただし、 1 種類の例外は、ユーザーがクリックしたボタンから送信された BN_CLICKED のコントロール通知メッセージです。このメッセージは、コマンド メッセージとして特に処理され、他のコマンドのようにルーティングされます。
コマンド メッセージ
これはユーザーインターフェイス オブジェクトから WM_COMMAND の通知メッセージが含まれています: メニュー、ツールバー ボタンとアクセラレータ キー。フレームワークはコマンドを他のメッセージとは異なる方法で処理し、 コマンドの対象で説明しているように、より多くの種類のオブジェクトによって、処理できます。
Windows メッセージとコントロール通知メッセージ
Category 1 および 2 のメッセージがウィンドウによって — Windows メッセージとコントロール通知 —処理: クラス CWndの派生クラスのオブジェクト。これで、基本クラスから派生したクラスを作成するに CFrameWnd、 CMDIFrameWnd、 CMDIChildWnd、 CView、 CDialogを、含まれます。このようなオブジェクトは HWNDのウィンドウへのハンドルをカプセル化します。
コマンド メッセージ
Category 3 のメッセージがオブジェクトで使用できるコマンド — —処理できます: ウィンドウとビューに適用するドキュメント、ドキュメント テンプレートとアプリケーション オブジェクト自体を返します。コマンドは、直接特定のオブジェクトに影響を与える場合、その意味は、オブジェクトのハンドル コマンドがあります。たとえば、 [ファイル] メニューの [コマンドは、アプリケーションとともに論理的に関連付けられます: アプリケーションは、コマンドを受信したときに指定されたドキュメントを開きます。したがって、コマンドのハンドラーは、アプリケーションのクラスのメンバー関数です。コマンドに関する詳細については、オブジェクトにパスを指定するか、 フレームワークがハンドラーに問い合わせる場合を参照してください。