次の方法で共有


DefFrameProcW 関数 (winuser.h)

マルチドキュメント インターフェイス (MDI) フレーム ウィンドウのウィンドウ プロシージャが処理しないウィンドウ メッセージの既定の処理を提供します。 ウィンドウ プロシージャによって明示的に処理されないすべてのウィンドウ メッセージは、DefWindowProc 関数ではなく、DefFrameProc 関数に渡す必要があります。

構文

LRESULT DefFrameProcW(
  [in] HWND   hWnd,
  [in] HWND   hWndMDIClient,
  [in] UINT   uMsg,
  [in] WPARAM wParam,
  [in] LPARAM lParam
);

パラメーター

[in] hWnd

型: HWND

MDI フレーム ウィンドウへのハンドル。

[in] hWndMDIClient

型: HWND

MDI クライアント ウィンドウへのハンドル。

[in] uMsg

型: UINT

処理するメッセージ。

[in] wParam

型: WPARAM

追加のメッセージ固有の情報。

[in] lParam

型: LPARAM

追加のメッセージ固有の情報。

戻り値

型: LRESULT

戻り値は、メッセージ処理の結果を指定し、メッセージに依存します。 hWndMDIClient パラメーターが NULL場合、戻り値は DefWindowProc 関数の場合と同じです。

備考

アプリケーションのウィンドウ プロシージャがメッセージを処理しない場合、通常、メッセージを処理するために、DefWindowProc 関数にメッセージが渡されます。 MDI アプリケーションでは、DefWindowProc ではなく、DefFrameProc および defMDIChildProc 関数 使用して既定のメッセージ処理を提供します。 アプリケーションが通常、DefWindowProc に渡すすべてのメッセージ (クライアント以外のメッセージや WM_SETTEXT メッセージなど) は、代わりに DefFrameProc に渡す必要があります。 DefFrameProc 関数は、次のメッセージも処理します。

メッセージ 応答
WM_COMMAND ユーザーが選択した MDI 子ウィンドウをアクティブにします。 このメッセージは、ユーザーが MDI フレーム ウィンドウのウィンドウ メニューから MDI 子ウィンドウを選択したときに送信されます。 このメッセージに付随するウィンドウ識別子は、アクティブ化される MDI 子ウィンドウを識別します。
WM_MENUCHAR ユーザーが Alt + - (マイナス) キーの組み合わせを押すと、アクティブな MDI 子ウィンドウのウィンドウ メニューが開きます。
WM_SETFOCUS キーボード フォーカスを MDI クライアント ウィンドウに渡し、アクティブな MDI 子ウィンドウに渡します。
WM_SIZE 新しいフレーム ウィンドウのクライアント領域に収まるように MDI クライアント ウィンドウのサイズを変更します。 フレーム ウィンドウ プロシージャが MDI クライアント ウィンドウのサイズを別のサイズに変更する場合は、DefWindowProc 関数にメッセージを渡さないでください。
 

手記

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

必要条件

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

関連項目

概念

DefMDIChildProc の

DefWindowProc の

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

リファレンス

WM_SETTEXT