文本编辑器的设计(一)

来源:转载

 
本章介绍多文本界面(MDI) 、多页面界面(MPI) 技术;VCL库中TMemoTEdit 控件以及有关文本编辑的常用对话框的使用。我们开发的MPIEdit.dpr是一个文本编辑的实用程序,可实现如下功能:

MDI应用程序提供了一种方便的方式,使得用户在同一工作区域内对多个文档进行观察和交换数据。MDI工作区域可分为父窗体和子窗体,在DephiMDI应用程序中,父窗体通常是程序的主窗体。

在MDI中,父窗体之外的窗体称为子窗体,文档或其它数据在子窗体打开。这些文档可以是相同的文件格式,或在应用程序支持下也可以是不同的文件格式。

在设计阶段,可创建 MDI 父窗体作为应用程序主窗体, 亦可创建子窗体样板。Delphi允许创建多个子窗体类型,但MDI应用程序只支持其中的一种。

本节讲述创建MDI应用程序的基本步骤:

● 创建主窗口

● 创建子窗口

● 创建主窗口菜单

● 融合菜单

● 运行时创建子窗口

4.1.1 创建父窗口

在MDI应用程序中,主窗口为应用文档提供一个工作区域。这个区域可打开一个或多个子窗口,创建父窗口是建立MDI应用程序的第一步。

创建父窗口与其它窗口类似,不同之处在于设置窗体的FormStyle属性。

FormStyle属性可决定一个窗体是父窗口还是子窗口,或不是MDI类型。 只能在设计阶段确定FormStyle。在Object Inspector窗口中将FormStyle属性设置成fsMDIForm。值得注意的是应当把父窗口定义为应用程序的主窗体,否则程序编译会出错。

4.1.2 创建子窗口

设计阶段可创建子窗口的样板,用户在运行进使用样板的实例。子窗口是缺省可见的,如果应用程序在运行进创建子窗口,不要让Delphi自动地创建。

创建子窗口时将窗体的FormStyle属性设置为fsMDIChild。如果程序在运行时创建子窗口,则

1. 选择OPtions|Project菜单,系统弹出自动创建列表对话框;

2. 在自动创建列表中选中子窗口;

3. 单击>按钮将子窗口移至可得到(Available)窗体列表;

4. 并单击OK按钮退出。

4.1.3 创建应用程序菜单与菜单融合

父窗口的菜单应作为应用程序主菜单。如果子窗口有菜单, 则当子窗口在运行获得焦点并最大化时,子窗口的菜单项将融合父窗口菜单。

创建父窗口与子窗口菜单的方法与创建普通窗体菜单类似, 详细步骤见第一章。菜单融合是指程序运行过程中,子菜单与父窗口菜单的相互作用。 如当子窗口获得焦点时,子窗口的菜单或插入主窗口的菜单中,或将替换部分或全部的父窗口菜单。

进行菜单融合需设置的两个属性:


分享给朋友:
您可能感兴趣的文章:
随机阅读: