次の方法で共有


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_NEXTWINDOWSC_PREVWINDOWSC_MOVESC_SIZESC_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

関連項目

概念

DefFrameProc

DefWindowProc

複数のドキュメント インターフェイス

リファレンス

WM_CHILDACTIVATE

WM_GETMINMAXINFO

WM_MENUCHAR

WM_MOVE

WM_SETFOCUS

WM_SETTEXT

Wm_size

WM_SYSCOMMAND