多个文档界面

[许多新用户和中间用户发现很难使用 MDI 应用程序。 因此,应考虑用户界面的其他模型。 但是,可以将 MDI 用于不太适合现有模型的应用程序。]

多文档界面(MDI)是一个规范,用于定义应用程序用户界面,使用户能够同时处理多个文档。

在本部分中

主题 描述
关于多个文档界面 描述多个文档界面。
使用多个文档界面 介绍如何执行与多个文档界面关联的任务。
MDI 参考 包含 API 参考。

MDI 函数

名字 描述
CreateMDIWindow 创建 MDI 子窗口。
DefFrameProc 为 MDI 框架窗口的窗口过程未处理的任何窗口消息提供默认处理。 窗口过程未显式处理的所有窗口消息都必须传递给 DefFrameProc 函数,而不是 DefWindowProc 函数。
DefMDIChildProc 为 MDI 子窗口的窗口过程未处理的任何窗口消息提供默认处理。 窗口过程未处理的窗口消息必须传递给 DefMDIChildProc 函数,而不是 DefWindowProc 函数。
TranslateMDISysAccel 处理与指定 MDI 客户端窗口关联的 MDI 子窗口的窗口菜单命令的加速键击。 该函数将 WM_KEYUPWM_KEYDOWN 消息转换为 WM_SYSCOMMAND 消息并将其发送到相应的 MDI 子窗口。

MDI 消息

名字 描述
WM_MDIACTIVATE 发送到 MDI 客户端窗口,以指示客户端窗口激活其他 MDI 子窗口。
WM_MDICASCADE 发送到 MDI 客户端窗口以级联格式排列其所有子窗口。
WM_MDICREATE 发送到 MDI 客户端窗口以创建 MDI 子窗口。
WM_MDIDESTROY 发送到 MDI 客户端窗口以关闭 MDI 子窗口。
WM_MDIGETACTIVE 发送到 MDI 客户端窗口以检索活动 MDI 子窗口的句柄。
WM_MDIICONARRANGE 发送到 MDI 客户端窗口,以排列所有最小化的 MDI 子窗口。 它不会影响未最小化的子窗口。
WM_MDIMAXIMIZE 发送到 MDI 客户端窗口以最大化 MDI 子窗口。 系统调整子窗口的大小,使其工作区填充客户端窗口。 系统将子窗口的窗口菜单图标置于框架窗口菜单栏最右侧的位置,并将子窗口的还原图标置于最左侧的位置。 系统还会将子窗口的标题栏文本追加到框架窗口的标题栏文本。
WM_MDINEXT 发送到 MDI 客户端窗口以激活下一个或上一个子窗口。
WM_MDIREFRESHMENU 发送到 MDI 客户端窗口以刷新 MDI 框架窗口的窗口菜单。
WM_MDIRESTORE 发送到 MDI 客户端窗口以从最大化或最小化大小还原 MDI 子窗口。
WM_MDISETMENU 发送到 MDI 客户端窗口以替换 MDI 框架窗口的整个菜单、替换框架窗口的窗口菜单或两者。
WM_MDITILE 发送到 MDI 客户端窗口,以以磁贴格式排列其所有 MDI 子窗口。

MDI 结构

名字 描述
MDICREATESTRUCT 包含有关 MDI 子窗口的类、标题、所有者、位置和大小的信息。