多文档界面窗口.docx

上传人:小飞机 文档编号:3391560 上传时间:2023-03-12 格式:DOCX 页数:2 大小:37.41KB
返回 下载 相关 举报
多文档界面窗口.docx_第1页
第1页 / 共2页
多文档界面窗口.docx_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

《多文档界面窗口.docx》由会员分享,可在线阅读,更多相关《多文档界面窗口.docx(2页珍藏版)》请在三一办公上搜索。

1、多文档界面窗口多文档界面窗口 MDI 应用程序是另一类重要的文档视结构程序。它的特点是:用户一次可以打开多个文档,每个文档对应不同的窗口;主窗口的菜单会自动随着当前活动的子窗口的变化而变化;可以对子窗口进行层叠、平铺等各种操作;子窗口可以在MDI 主窗口区域内定位、改变大小、最大化和最小化,当最大化子窗口时,它将占满MDI 主窗口的全部客户区。MDI 不仅可以在同一时间内同时打开多个文档,还可以为同一文档打开多个视图。在Windows 菜单下选择New ,就为当前活动文档打开一个新的子窗口。 从程序员角度看,每个MDI 应用程序必须有一个CMDIFrameWnd或其派生类的实例,这个窗口称作M

2、DI 框架窗口。CMDIFrameWnd是CFrameWnd的派生类,它除了拥有CFrameWnd框架窗口类的全部特性外,还具有以下与MDI 相关的特性: 与SDI 不同,主框架窗口并不直接与一个文档和视图相关联。MDI 框架窗口拥有MDICLIENT ,在显示或隐藏控制条时,重新定位该子窗口。 MDI 客户窗口是MDI 子窗口的直接父窗口,它负责管理主框架窗口的客户区以及创建子窗口。每个MDI 主框架窗口都有且只有一个MDI 客户窗口。 MDI 主框架窗口、客户窗口和子窗口的关系如下图所示: 图8-1 MDI 主框架窗口、客户窗口和子窗口 MDI 子窗口是CMDIChildWnd或其派生类的

3、实例,CMDIChildWnd是CFrameWnd的派生类,用于容纳视图和文档,它相当于SDI 下的主框架窗口。每打开一个文档,框架就自动为文档创建一个MDI 子窗口。一个MDI 应用程序负责动态的创建和删除MDI 子窗口。在任何时刻,最多只有一个子窗口是活动的( 窗口标题栏颜色呈高亮显示) 。MDI 框架窗口始终与当前活动子窗口相关联,命令消息在传给MDI 框架窗口之前首先分派给当前活动子窗口。 在没有任何活动的MDI 子窗口时,MDI 框架窗口可以拥有自己的缺省菜单。当有活动子窗口时,MDI 框架窗口的菜单条会自动被子窗口的菜单所替代。框架会自动监视当前活动的子窗口类型,并相应的改变主窗口

4、的菜单。比如,在Visual Studio 中,当选择对话框资源编辑窗口或源程序窗口时,菜单会有所不同。但是,对于程序员来说,只需要在InitInstance中注册文档时指定每一类子窗口所使用的菜单,而不必显式的通过调用函数去改变主框架窗口的菜单,因为框架会自动完成这一任务。 MDI 框架窗口为层叠、平铺、排列子窗口和新建子窗口等一些标准窗口操作提供了缺省的菜单响应。在响应新建子窗口命令时,框架调用CDocTemplate:CreateNewFrame 为当前活动文档创建一个子窗口。CreateNewFrame 不仅创建子窗口,还创建与文档相对应的视图。 下面,我们结合一个绘图程序例子,介绍多文档界面技术。在此之前,我们首先要介绍一下如何在Windows 中绘图以及Windows 的图形设备接口。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号