defFrameProcW 函数 (winuser.h)

为多文档界面的窗口过程 (MDI) 框架窗口不处理的任何窗口消息提供默认处理。 窗口过程未显式处理的所有窗口消息都必须传递到 DefFrameProc 函数,而不是 DefWindowProc 函数。

语法

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 应用程序使用 DefFrameProcDefMDIChildProc 函数而不是 DefWindowProc 来提供默认的消息处理。 应用程序通常传递到 DefWindowProc 的所有消息 ((例如非客户端消息和 ) WM_SETTEXT 消息)应改为传递到 DefFrameProcDefFrameProc 函数还处理以下消息。

消息 响应
WM_COMMAND 激活用户选择的 MDI 子窗口。 当用户从 MDI 框架窗口的窗口菜单中选择 MDI 子窗口时,将发送此消息。 此消息附带的窗口标识符标识要激活的 MDI 子窗口。
WM_MENUCHAR 当用户按下 Alt+ - (减去) 组合键时,打开活动 MDI 子窗口的窗口菜单。
WM_SETFOCUS 将键盘焦点传递到 MDI 客户端窗口,后者又将其传递到活动的 MDI 子窗口。
WM_SIZE 调整 MDI 客户端窗口的大小以适应新框架窗口的工作区。 如果框架窗口过程将 MDI 客户端窗口的大小调整为不同的大小,则它不应将消息传递给 DefWindowProc 函数。
 

注意

winuser.h 标头将 DefFrameProc 定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将非特定编码别名的使用与非非特定编码的代码混合使用可能会导致不匹配,从而导致编译或运行时错误。 有关详细信息,请参阅 函数原型的约定

要求

   
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 winuser.h (包括 Windows.h)
Library User32.lib
DLL User32.dll

请参阅

概念性

DefMDIChildProc

DefWindowProc

多文档接口

引用

WM_SETTEXT