多文档界面窗口

合集下载

跟我学VS#语言编程技术——C#语言中的多文档界面 (MDI)的编程应用示例

跟我学VS#语言编程技术——C#语言中的多文档界面 (MDI)的编程应用示例

childForm.Left = 0;
//是保证每次打开这个窗体的时候,窗体处于父窗体的左上角,否则,系统默认的是每
//次向右下一个位置,防止窗体的遮挡。
childForm.Show();
//显示出MDI子窗体
}
注意:
重要的语句是 childForm.MdiParent = this,这就是说,childForm 的 MDI 父窗体就是
杨教授工作室,版权所有4 ,盗版必究, 4/34 页
杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料
this(Form1 窗体) (5)合并 MDI 父窗体与 MDI 子窗体的菜单项
如果 MDI 子窗体有一个 MainMenu 组件,并且该子窗体是在一个拥有另一个 MainMenu 组件的 MDI 父窗体中打开的,请将两个 MainMenu 组件以及该子窗体的所有顶级菜单项的 MergeType 属性都设置为 MergeItems;并设置它们的 MergeOrder 属性,以便这两个菜单的 菜单项按所需顺序显示(MergeOrder 属性值相同的各个顶级菜单项将合并在一起,不同的值 将决定它们在菜单条上的显示顺序)。
//设置该MDI子窗体的MdiParent(当前多文档界面 (MDI) 父窗体)
childForm.Text="MDI 子窗体"+MDIChildCounter;
childForm.Size=this.ClientSize;
//使MDI子窗体的大小充满MDI父窗体的窗体工作区
childForm.Top = 0;
致即使调整 MDI 子窗体的大小,RichTextBox 控件也会完全填充该窗体的区域。
(4)为 MDI 父窗体的“新建”菜单项创建 Click 事件处理程序

delphi制作多文档界面

delphi制作多文档界面

最为一个巩固之前有关窗体和对象的有关知识,下面就建立一个简单的MDI示范程序,这个程序的功能是打开和保存图形文件(包括位图、图标等),为了完成这个任务,我们有一个大概的计划,计划内容如下:(1)建立主窗体(一个MDI父窗体),包括菜单。

(2)为【File | Open…】和【File | Save…】菜单选项编写代码。

(3)为Windows菜单上的Cascade、Tile和Arrange All选项编写代码。

(4)建立MDI子窗体。

(5)建立一个About对话框。

(6)然后再回忆和欣赏一下这段工作。

时间就是金钱,即刻就做吧。

一、创建主窗口窗体首先创建一个主窗口窗体,一个MDI应用程序的主窗口的FormStyle属性必须设置为fsMDIForm。

不但要为应用程序增加File Open和File Save 对话框,还要增加一个菜单。

1、启动Delphi,并从主菜单选择【File | New | Application】;2、把主窗体的Name属性设置为MainForm;3、把Caption属性设置为Picture Viewer;4、把FormStyle属性设置为fsMDIForm;好了,下面为此窗体增加一个菜单,利用Delphi特性,引进一个预定义菜单,具体如下:1、点击组件选项板的Standard标签,并点击MainMenu按钮;2、把MainMenu组件点击放置到窗体上,具体放到哪个地方无所谓了,因为在运行阶段,代表菜单的图标只是占地方而不显示,这是非可视化组件。

3、把MainMenu组件Name属性改为MainMenu;4、双击MainMenu组件,就会出现Menu Designer对话框;5、在MainMenu上点击鼠标右键,选择“Insert From Template…”,将出现Insert Template对话框;6、选择“MDI Frame Menu”并点击OK,此菜单将显示在Menu Designer上,关闭Menu Designer窗口。

第8章通用对话框、菜单、多文档界面

第8章通用对话框、菜单、多文档界面
8.1.1 添加通用对话框(Common Dialog)控件工具箱
两种方法: 1、菜单:工程—部件,在对话框中选“Microsoft Common
Dialog Control 6.0 ” 2、快捷:工具箱单击鼠标右键,在快捷菜单中选“部件”,在
对话框中选“Microsoft Common Dialog Control 6.0 ”
8.3.1 单文档界面
1.添加窗体 三种方法:
A.选择“工程”菜单的“添加窗体”子菜单 B.选择工具栏的添加窗体按钮 C.在工程资源管理窗口单击鼠标右键,在出现的快捷菜单 中选择“添加”菜单中的“添加窗体”菜单
8.1.2 通用对话框的使用
通用对话框控件没有事件,只有方法和属性。 通过方法或Action属性值显示标准对话框。 通用对话框控件中的每一个标准对话框都有自己的属性。
方法名称 ShowOpen ShowSave ShowColor ShowFont ShowPrinter ShowHelp
Action属性值 1 2 3 4 5 6
8.2.2 弹出菜单
例8-6 在例8-5的文本框中点击鼠标右键时,在鼠标当前位置弹出编辑
菜单项。 '显示编辑的弹出菜单 Private Sub Text1_MouseUp(Button As Integer, Shift As Integer,
X As Single, Y As Single) '在文本框对象上鼠标弹起事件
程序代码
.FontBold = Dlog.FontBold
.ForeColor = Dlog.Color
End With
End Sub
8.1.7 “打印”对话框
打印对话框通过ShowPrint方法或Action属性设为5打开。 打印对话框仅供用户对打印参数进行设置,要实现打印功能还需要通过对

第11章 多文档窗体

第11章 多文档窗体

11.2 创建多文档窗体
2)MDI窗体的鼠标双击事件DblClick 例如,要想在双击MDI窗体时,实现卸载该MDI窗 体,需要编写的代码如下: Private Sub MDIForm_DblClick() Unload MDIForm1 End Sub 3.Arrang方法 当在MDI窗体中显示多个子窗体或子窗体图标时, 可以根据不同情况改变子窗体的布置方式,Arrang方 法的语法格式为: 对象.Arrang Arrangement
11.2 创建多文档窗体
【例11-1】设计一个在带有子窗体Form1的MDI窗体工 程,通过执行文件菜单的“打开”命令,可以打开多个子 窗体。MDI窗体的菜单如图11-6所示,运行结果如图117所示。(演示)
图11-6 MDI窗体中添加的菜单
图11-7 执行四次“打开”命令的MDI窗体
11.2 创建多文档窗体
应用程序的用户界面主要分为两种形式: 单文档界面(SDI,Single Document Interface)和多文档 界面(MDI,Multiple Document Interface)。 单文档界面并不是指只有一个窗体的界面,而是指应用程序 的各窗体是相互独立的,它们在屏幕上独立显示、移动、最小化 或最大化,与其他窗体无关。在前面创建的所有程序都是单文档 界面。 多文档界面由多个窗体组成,但这些窗体不是独立的。其中 有一个窗体称为父窗体,其他窗体称为他的子窗体。
第11章 多文档窗体
学习目标:
认识单文档窗体与多文档窗体的区别 掌握多文档窗体的创建 了解多文档窗体的属性与事件 掌握多文档窗体的应用
第11章 多文档窗体
11.1 单文档窗体与多文档窗体 11.2 创建多文档窗体
11.3 一个简单的文档编辑器

单文档与多文档

单文档与多文档

这一点与Windows消息 这一点与Windows消息 Windows 和控件通知消息不同, 和控件通知消息不同, 因为Windows Windows消息和控 因为Windows消息和控 件通知消息就只能被 窗口和视图处理. 窗口和视图处理.
文档/视图结构的工作机制 文档 视图结构的工作机制
视图通过GetDocument 视图通过GetDocument 成员函数获得指向相关 联的文档对象的指针 通过该指针调用文 档类的成员函数来 从文档中读取数据
16.3 CDocument类的派生类构造 类的派生类构造
构造CDocument类的派生类的基本步骤 类的派生类的基本步骤 构造 一般来说, 一般来说,从CDocument类派生自己的文档类所需的典型步骤为 类派生自己的文档类所需的典型步骤为 为每一个文档类型从CDocument类(当然也可以是其它 类 当然也可以是其它 为每一个文档类型从 CDocument类的派生类 派生一个相应的文档类. 类的派生类)派生一个相应的文档类 类的派生类 派生一个相应的文档类. 为文档类添加成员变量.这些成员变量用来保存文档的 为文档类添加成员变量. 数据,其它对象 如与文档相关联的视图 如与文档相关联的视图)直接或间接地访 数据,其它对象(如与文档相关联的视图 直接或间接地访 问这些成员变量来读取或更新文档的数据. 问这些成员变量来读取或更新文档的数据. 重载Serialize成员函数,实现文档数据的串行化. 成员函数,实现文档数据的串行化. 重载 成员函数
视图结构中 在文档/视图结构中 文档 视图
在文档和用户之 间起中介作用 除WM_COMMAND外,文档不 WM_COMMAND外 文档不 处理其它的Windows Windows消息 能处理其它的Windows消息 视图可以直接或间接 地访问文档类中的成 员变量, 员变量,它从文档类 中(而不是从存储介质 而不是从存储介质 中)将文档中的数据取 将文档中的数据取 出来, 出来,然后在屏幕上 显示文档的数据

第九章多文档界面(MDI)

第九章多文档界面(MDI)
创建画笔有两种方法: 一是使用CPen::CreatePen(int nPenStyle,int nWidth,DWORD crColor) 进行初始化。 第一个参数是笔的风格。 nPenStyle可选值有: PS_SOLID 实线 PS_DOT 虚线
PS_INSIDEFRAME 在一个封闭形状的框架内画线,若设定的颜 色不能在调色板种找到且线宽大于1,Windows会使用一种混色。 PS_NULL 空的画笔,什么也不画
9.1多文档界面窗口
MDI 框架窗口为层叠、平铺、排列子窗口和新建子窗口等一些 标准窗口操作提供了缺省的菜单响应。 在响应新建子窗口命令时,框架调用 CDocTemplate::CreateNewFrame() 为当前活动文档创建一个子窗口。 CreateNewFrame() 不仅创建子窗口,还创建与文档相对应的视 图。 下面,我们结合一个绘图程序例子,介绍多文档界面技术。 在此之前,我们首先要介绍一下如何在Windows 中绘图以及 Windows 的图形设备接口(GDI )。
CClientDC(客户区设备上下文)用于客户区的输出,它在构造 函数中封装了GetDC(),在析构函数中封装了ReleaseDC()函数。 一般在响应非窗口重画消息(如键盘输入时绘制文本、鼠标绘图) 绘图)时要用到它。
用法是:
CClientDC dc(this); //this一般指向本窗口或当前活动视图
9.2 图形设备接口(GDI)
光栅输出 光栅图形的输出是指光栅图形函数对以位图形式存储的数据进行 操作,它包括各种位图和图标的输出。 在屏幕上表现为对若干行和列的像素的操作,在打印机上则是若 干行和列的点阵的输出。 光栅图形输出的优点是速度很快,它是直接从内存到显存的拷贝 操作。 缺点是需要额外的内存空间。 Windows在绘制界面时使用了大量的光栅输出。

办公自动化中级理论单选

办公自动化中级理论单选

单选题办公业务指办公的具体工作内容, 包括事务处理、信息管理和 B 等。

1、A.文书编辑B、咨询决策C、收集资料D、打印文档2、第二代办公自动化系统以 B 为中心。

A、数据库管理B、工作流C、协同工作D、信息服务系统3、办公自动化将朝着无纸化、数字化、多媒体化、 D 的方向发展。

A、网络化、集成化B、网络化、信息一体化C、信息一体化、远程化D、集成化、信息一体化4、数据库中的数据按其组织结构一般分为层次型、 A 和关系型三种数据模型。

A、网络型B、分布型C、树型D、随机型5、同时配置两台网络服务器的安全控制技术称为 C 。

A、磁盘镜像反修改B、磁盘双工C、服务器镜像D、服务器双工6、下列哪一个是传真机技术指标 D 。

A、分辨率B、有效记录幅面C、发送时间D、以上全是7、在扫描图像时不应 C 。

A、尽可能使图片与玻璃平台贴紧B、对印刷品要使用去网纹功能C、分辨率调到最高D、在扫描前先把色彩、对比度等调整好8、高档传真机普遍采用 A 方式来进记录。

A、激光静电复印方式B、热传导方式C、喷墨记录方式D、LED记录方式9、下面关于针式打印机描述正确的是 C 。

A、针式打印机在各种情况下打印速度都相同B、针式打印机的针头损坏可以替换C、可以连续打印多页D、无须其它配件就可以实现单页纸的连续打印10、关于U盘描述正确的是 B 。

A、需专门的驱动器才可在计算机上使用B、计算机上必须有USB接口才可使用C、不需驱动程序就可使用D、以上说法都对在Windwos98任务栏中, 不能完成的操作有 B 。

A、切换任务窗口B、显示桌面上的所有窗口C、改变任务栏的大小D、设置屏幕的外观在启动Windows98时, 直接以安全方式启动, 应按功能键__A___。

A、F8 B.Del C.F5 D.F4要WORD屏幕只显示文档, 而没有标尺、工具栏和其它屏幕元素, 可选择“视图”菜单中的 A 命令。

A、A.全屏显示 B.普通视图 C.大纲视图 D.页面视图B、关于WORD的操作, 下列 A 说法是不对的。

PowerBuilder案例开发程序设计教程chap5

PowerBuilder案例开发程序设计教程chap5
TabStop:通过设置该项属性为列表框中的文本设 置Tab停顿,最多可以定义16个Tab停顿(缺省为每8 个字符一个Tab停顿)。
2.Pictures属性页:允许用户设置图形列表项前的 图标。
3.Items属性页:允许用户输入列表框中显示的列 表项内容。
3.事件
当用户选择某列表项并双击时产生DoubleClicked 事件。
5.2 窗口的控件
5.2.1 窗口中控件的添加与删除
1.窗口中控件的添加
2.窗口中控件的删除
5.2.2 调整控件及其布局
1.复制控件
2.选择多个控件
3.控件对齐
4.调整控件的大小
5.调整间距
Space evenly horizontally:使水平方向的间距均等。
Space evenly vertically:使垂直方向的间距均等。
Tag:允许用户键入字符串,作为控件附加信息。 Default 和 Cancel: 选 择 【 Default】( 缺 省 ) 和 【Cancel】(取消)复选框可以分别指定一个按钮为 缺省按钮,或为取消按钮。
2.事件 CommandButton控件有多个事件,最重要的事件 就是Clicked事件,需要在此事件中编写单击按钮时 要执行的脚本代码。
3.弹出式窗口(popup!):从其父窗口或者应用 程序的Open事件中打开,并随父窗口关闭。弹出式 窗口可以移到其父窗口的外面,但不能被父窗口覆盖。 当其父窗口最小化时,它被隐藏。一般弹出式窗口多 用于为其父窗口做辅助说明。
5.1 窗口
4.响应式窗口(response!):由其父窗口激活, 一般要求用户输入信息。当其打开时,成为活动窗 口。此时只有用户响应后方可关闭,否则不能切换 到应用程序的其它窗口。应用程序可以传递参数到 响应式窗口并返回参数。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

多文档界面窗口
MDI 应用程序是另一类重要的文档视结构程序。

它的特点是:用户一次可以打开多个文档,每个文档对应不同的窗口;主窗口的菜单会自动随着当前活动的子窗口的变化而变化;可以对子窗口进行层叠、平铺等各种操作;子窗口可以在MDI 主窗口区域内定位、改变大小、最大化和最小化,当最大化子窗口时,它将占满MDI 主窗口的全部客户区。

MDI 不仅可以在同一时间内同时打开多个文档,还可以为同一文档打开多个视图。

在Windows 菜单下选择New ,就为当前活动文档打开一个新的子窗口。

从程序员角度看,每个MDI 应用程序必须有一个CMDIFrameWnd或其派生类的实例,这个窗口称作MDI 框架窗口。

CMDIFrameWnd是CFrameWnd的派生类,它除了拥有CFrameWnd框架窗口类的全部特性外,还具有以下与MDI 相关的特性:
与SDI 不同,主框架窗口并不直接与一个文档和视图相关联。

MDI 框架窗口拥有MDICLIENT (MDI 客户窗口),在显示或隐藏控制条(包括工具条、状态栏、对话条)时,重新定位该子窗口。

MDI 客户窗口是MDI 子窗口的直接父窗口,它负责管理主框架窗口的客户区以及创建子窗口。

每个MDI 主框架窗口都有且只有一个MDI 客户窗口。

MDI 主框架窗口、客户窗口和子窗口的关系如下图所示:
图8-1 MDI 主框架窗口、客户窗口和子窗口
MDI 子窗口是CMDIChildWnd或其派生类的实例,CMDIChildWnd是CFrameWnd的派生类,用于容纳视图和文档,它相当于SDI 下的主框架窗口。

每打开一个文档,框架就自动为文档创建一个MDI 子窗口。

一个MDI 应用程序负责动态的创建和删除MDI 子窗口。

在任何时刻,最多只有一个子窗口是活动的( 窗口标题栏颜色呈高亮显示) 。

MDI 框架窗口始终与当前活动子窗口相关联,命令消息在传给MDI 框架窗口之前首先分派给当前活动子窗口。

在没有任何活动的MDI 子窗口时,MDI 框架窗口可以拥有自己的缺省菜单。

当有活动子窗口时,MDI 框架窗口的菜单条会自动被子窗口的菜单所替代。

框架会自动监视当前活动的子窗口类型,并相应的改变主窗口的菜单。

比如,在Visual Studio 中,当选择对话框资源编辑窗口或源程序窗口时,菜单会有所不同。

但是,对于程序员来说,只需要在InitInstance 中注册文档时指定每一类子窗口(严格的讲是文档)所使用的菜单,而不必显式的通过调用函数去改变主框架窗口的菜单,因为框架会自动完成这一任务。

MDI 框架窗口为层叠、平铺、排列子窗口和新建子窗口等一些标准窗口操作提供了缺省的菜单响应。

在响应新建子窗口命令时,框架调用CDocTemplate::CreateNewFrame() 为当前活动文档创建一个子窗口。

CreateNewFrame() 不仅创建子窗口,还创建与文档相对应的视图。

下面,我们结合一个绘图程序例子,介绍多文档界面技术。

在此之前,我们首先要介绍
一下如何在Windows 中绘图以及Windows 的图形设备接口(GDI )。

相关文档
最新文档