次の方法で共有


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 は、次のメッセージも処理します。

メッセージ 応答
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_SIZE、および SC_MAXIMIZE
 

手記

winuser.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして DefMDIChildProc を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。

必要条件

要件 価値
サポートされる最小クライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされる最小サーバー Windows 2000 Server [デスクトップ アプリのみ]
ターゲット プラットフォーム の ウィンドウズ
ヘッダー winuser.h (Windows.h を含む)
ライブラリ User32.lib
DLL User32.dll

関連項目

概念

DefFrameProc の

DefWindowProc の

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

リファレンス

WM_CHILDACTIVATE

WM_GETMINMAXINFO

WM_MENUCHAR

WM_MOVE

WM_SETFOCUS

WM_SETTEXT

WM_SIZE

WM_SYSCOMMAND