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 関数は、次のメッセージも処理します。
Message | Response |
---|---|
WM_COMMAND | ユーザーが選択した MDI 子ウィンドウをアクティブにします。 このメッセージは、ユーザーが MDI フレーム ウィンドウのウィンドウ メニューから MDI 子ウィンドウを選択したときに送信されます。 このメッセージに付随するウィンドウ ID は、アクティブ化される MDI 子ウィンドウを識別します。 |
WM_MENUCHAR | ユーザーが Alt + - (マイナス) キーの組み合わせを押すと、アクティブな MDI 子ウィンドウのウィンドウ メニューが開きます。 |
WM_SETFOCUS | キーボード フォーカスを MDI クライアント ウィンドウに渡し、アクティブな MDI 子ウィンドウに渡します。 |
Wm_size | 新しいフレーム ウィンドウのクライアント領域に収まるように MDI クライアント ウィンドウのサイズを変更します。 フレーム ウィンドウ プロシージャで MDI クライアント ウィンドウのサイズを別のサイズに設定する場合は、 メッセージを DefWindowProc 関数に渡さないでください。 |
注意
winuser.h ヘッダーは DefFrameProc をエイリアスとして定義します。このエイリアスは、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択します。 encoding-neutral エイリアスの使用を encoding-neutral ではないコードと混在すると、コンパイル エラーまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | winuser.h (Windows.h を含む) |
Library | User32.lib |
[DLL] | User32.dll |
関連項目
概念
リファレンス