次の方法で共有


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

関連項目

概念

DefMDIChildProc

DefWindowProc

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

リファレンス

WM_SETTEXT