DefMDIChildProcW 関数 (winuser.h)
マルチ ドキュメント インターフェイス (MDI) 子ウィンドウのウィンドウ プロシージャが処理しないウィンドウ メッセージの既定の処理を提供します。 ウィンドウ プロシージャによって処理されないウィンドウ メッセージは、DefWindowProc 関数ではなく DefMDIChildProc 関数に渡す必要があります。
構文
LRESULT LRESULT DefMDIChildProcW(
[in] HWND hWnd,
[in] UINT uMsg,
[in] WPARAM wParam,
[in] LPARAM lParam
);
パラメーター
[in] hWnd
型: HWND
MDI 子ウィンドウへのハンドル。
[in] uMsg
型: UINT
処理されるメッセージ。
[in] wParam
型: WPARAM
追加のメッセージ固有情報。
[in] lParam
型: LPARAM
追加のメッセージ固有情報。
戻り値
型: LRESULT
戻り値は、メッセージ処理の結果を指定し、メッセージに依存します。
注釈
DefMDIChildProc 関数は、hWnd パラメーターによって識別される MDI 子ウィンドウの親ウィンドウが MDICLIENT クラスで作成されたものと見なします。
アプリケーションのウィンドウ プロシージャがメッセージを処理しない場合、通常はメッセージを DefWindowProc 関数に渡してメッセージを処理します。 MDI アプリケーションでは、DefWindowProc の代わりに DefFrameProc 関数と DefMDIChildProc 関数を使用して、既定のメッセージ処理を提供します。 アプリケーションが通常 DefWindowProc に渡すすべてのメッセージ (非クライアント メッセージや WM_SETTEXT メッセージなど) は、代わりに DefMDIChildProc に渡す必要があります。 さらに、 DefMDIChildProc は次のメッセージも処理します。
Message | Response |
---|---|
WM_CHILDACTIVATE | MDI 子ウィンドウのサイズ、移動、または表示時にアクティブ化処理を実行します。 このメッセージを渡す必要があります。 |
WM_GETMINMAXINFO | MDI クライアント ウィンドウの現在のサイズに基づいて、最大化された MDI 子ウィンドウのサイズを計算します。 |
WM_MENUCHAR | MDI フレーム ウィンドウにメッセージを渡します。 |
WM_MOVE | MDI クライアントのスクロール バーが存在する場合は再計算します。 |
WM_SETFOCUS | アクティブな MDI 子ウィンドウでない場合は、子ウィンドウをアクティブにします。 |
Wm_size | 特に MDI 子ウィンドウを最大化または復元するために、ウィンドウのサイズを変更するために必要な操作を実行します。 このメッセージを DefMDIChildProc 関数に渡さなかった場合、非常に望ましくない結果が生成されます。 |
WM_SYSCOMMAND | ウィンドウ メニュー コマンドを処理します。 SC_NEXTWINDOW、 SC_PREVWINDOW、 SC_MOVE、 SC_SIZE、 SC_MAXIMIZE。 |
注意
winuser.h ヘッダーは、DefMDIChildProc をエイリアスとして定義し、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択します。 encoding-neutral エイリアスの使用を encoding-neutral ではないコードと混在すると、コンパイル エラーまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | winuser.h (Windows.h を含む) |
Library | User32.lib |
[DLL] | User32.dll |
関連項目
概念
リファレンス