第十章 Win31環境下常用的介面

Download Report

Transcript 第十章 Win31環境下常用的介面

基础综合
Win31环境下常用的接口
早在多年前Windows 95操作系统推出就已经进入Win32
的世界了,但是在Windows 3.1的环境下还是有许多很
好用的接口,虽然看似阳春,可是功能却也是很完整方
便的。在这一章,我们要介绍的就是这些组件。这些组
件看起来或许丑了一点,但是在执行效率以及功能上,
可是一点也不含糊喔。
大纲
•
•
•
•
•
•
8-1 档案列表盒(FileListBox)
8-2 目录列表盒(DirectoryListBox)
8-3 磁盘列表盒(DriveComboBox)
8-4 档案类型过滤盒(FilterComboBox)
8-5 TabbedNotebook组件
本章习题
前言
• 早期在Win31系统就支持了很多到
现在都还是很重要的图形接口,
其中对于磁盘和磁盘内目录以及
档案的管理,即使到了现在,就
功能而言还是一样的便利。为了
不让程序设计者在建构这些界面
时得花费很多精神在取得磁盘,
目录,档案的信息,以及表现成
GUI的格式,Borland C++
Builder也提供了一系列的Win31
接口的组件,其中对于磁盘档案
的处理可以说是提供的很完善。
8-1 档案列表盒(FileListBox)
• 档案列表盒中,对于设计者而言,
最便利的地方就是可以提供一个
简单的方法就可以取得FileName。
这对于存取档案而言,是个简单
又快速的方式。使用者可以利用
这个简单的接口就可以指定程序
所要进行动作的档案和路径。在
列表盒中显示了所有同一个目录
的文件名称。我们可以用鼠标去
点选,被点选的档案将会被反白,
此时档案列表盒里面的FileName
属性就会变成被点选的那个档案
了。
FileName就
是”c:\AUTOEXEC.BAT”
档案列表盒的主要属性
属性(Properties)
型态原型
说明
FileEdit
TEdit
连结选择的档案,提供修改接口
FileType
TFileType
档案的属性(如只读,隐藏等)
Font
Font
档案显示的字型
Mask
AnsiString
档案格式的过滤设定
Height
Int
显示方块的长度
Width
Int
显示方块的宽度
FileName
AnsiString
选择的档案路径和文件名
Directory
AnsiString
目前列表的目录路径,也就是列表
何所要显示的目录位置。
Drive
Char
目前FileListBox所要运作的磁盘驱
动器代号
8-2 目录列表盒(DirectoryListBox)
• 目录列表盒是可以显示某磁盘驱
动器下所有的目录结构的列表盒,
但是其主要功能并不是在显示目
录结构,而是提供一个方式让我
们取得目录路径以提供给成是作
为目录信息,最常用来配合的就
是FileListBox了,我们可以利用
DirectoryListBox所选定的路径
喂给FileListBox作为目录的路径。
目录列表盒的主要属性
属性(Properties) 型态原型
说明
Drive
Char
所属目录磁盘驱动器
Directory
AnsiString
目前选定的目录
Font
Font
目录显示的字型
FileList
TFileListBox
设定与此相连结的FileListBox组件
Height
Int
显示方块的长度
Width
Int
显示方块的宽度
目录列表盒使用说明
• FileList属性即可以设定与此组件关联的FileListBox组件,
当使用者选择不同的目录时,这个组件的Directory属性会自
动传给所关联的FileListBox组件,让FileListBox可以动态
的就改变其所要显示的档案。我们可以看一下以下这段程序
代码的写法:
DirectoryListBox1->FileList = FileListBox1;
• 们把DirectoryListBox1里的FileList属性指定成
FileListBox组件,如此一来当DirectoryListBox1里的
Directory属性被使用者指定更改时,FileListBox1的
Directory属性也会跟着同步更改。
8-3 磁盘列表盒(DriveComboBox)
• 磁盘列表盒是用来列出计算机内
所有可以工作的磁盘驱动器,用
ComboBox的方式显示。由于是用
ComboBox的方式显示,因此磁盘
列表盒组件最常用来作为磁盘驱
动器选择接口的方式,这也是一
般Windows操作系统环境下软件最
常用的处理方式。
磁盘列表盒
DriveComboBox组件重要属性列表
属性(Properties) 型态原型
说明
Drive
Char
目前所选择的磁盘驱动器
DirList
TDirectoryListBox
对应于目录列表盒型态
Font
Font
磁盘显示的字型
Text
AnsiString
磁盘驱动器代号以及磁盘驱动器
标签
Height
Int
显示方块的长度
Width
Int
显示方块的宽度
磁盘列表盒使用说明
• 磁盘列表盒可以说是这一系列组件中在继承结构里层级最高
的,列表盒中可以显示磁盘驱动器代号和磁盘驱动器卷标,
可以从Text属性里取得。列表盒中被选定的磁盘驱动器会被
存在Drive属性里,我们可以利用这个属性将信息传给
DirectoryComboBox组件,当然我们也可以利用上一节所介绍
的方式直接将DirList属性指定给所需要的DirectoryListBox
组件。如:
DriveComboBox1->DirList = DirectoryListBox1;
• 在DriveComboBox1->DirList里有目前被选定的磁盘驱动器信
息,我们直接将这个属性指配给DirectoryListBox1,如此一
来DirectoryListBox1所显示的目录就可以跟我们对于
DriveListBox所作的更动同步了。
8-4 档案类型过滤盒(FilterComboBox)
• 我们知道在FileListBox里有个
Mask属性可以让我们设定显示档
案的过滤方式,通常这个动作都
是应用程序在做开启档案时会使
用的,为的就是不要让其它不相
关的档案也一并显示出来。但是
如果要动态的改变这个属性,用
手动输入的方式是相当不人性化
的,这时我们可以利用专门设计
来处理这个属性的组件
FilterComboBox,其实我们常用
的Windows软件也都是用这个方
式,相信读者应该不陌生。
档案类型过滤盒
FilterComboBox组件重要属性列表
属性(Properties)
型态原型
说明
FileList
TFileListBox
连结FileListBox组件,过滤显示档案
Filter
AnsiString
设定列表盒出现的选项
Font
Font
列表盒显示的字型
Mask
AnsiString
传回所选到的Fiter信息
Height
Int
显示方块的长度
Width
Int
显示方块的宽度
Text
AnsiString
列表盒所被选到的选项内容
档案类型过滤盒使用说明 I
• 最重要的两个属性就是Filter和
Mask,前者就是程序设计师所设
定的过滤档案选项,后者则是使
用者从这些选项里选择的选项。
• 同样的,可以用指定的方式将档
案类型过滤列表盒的数据直接送
给档案列表盒,如:
FilterComboBox1->FileList =
FileListBox1;
• 当FilterComboBox1的选项被选定
后,FileListBox1所显示的档案
类型就会依照选项的设定去做过
滤了。至于最重要的设定Filter
决定了列表盒下拉选单的内容
档案类型过滤盒使用说明 II
• FilterName为列表盒下拉时的显示文字,Filter为过滤的档
案设定,若设定为多档案格式则使用分号分开,我们从上页
图里面可以看到,在Filter那一栏,有很多地方都是使用万
用字符(*),这代表任意字符串的意思。所以说*.*表示的就
是所有的档名和扩展名,也就是任何档案的意思;而*.txt就
是扩展名为txt的任何档案。被选定的Filter选项会被存入
Mask属性里。
组件综合范例 I
• 我们由之前所介绍的几个组件,就
可以建立一个完整的档案浏览接
口了
• 右图范例就是结合这四个组件为
主的一个范例窗口
组件综合范例 II
• 其中最主要的动作, 就是设定这些组件的关联性, 也就是我们必须
要在一开始时就指定好某先组件的属性,如此这先组件的动作就会互
相影响,如下程序代码就是在FormCreate 方法里加入的
FilterComboBox1->FileList = DirectoryListBox1->FileList;
DirectoryListBox1->FileList = FileListBox1;
DriveComboBox1->DirList = DirectoryListBox1;
• 由于FileListBox是这些组件里最下层的, 所以只需要被指定即可
8-5 TabbedNotebook组件
• 在窗口操作系统中,大致上有两种多页
框标签,一种是在Windows3.1下的
TabbedNotebook组件,另一种是从
Windows95以后开始提供的新操作接口
PageControl。本节是要介绍
TabbedNotebook组件
TabbedNotebook使用说明
• TabbedNotebook在开发程序时,是非常便利的,我们只需要建
立好一个TabbedNotebook组件到窗口的某个位置, 并且把之
后的组件拖曳到其可
本章习题
•
•
请仿照Windows档案总管的功能,完成一个基本功能具备的
档案管理程序。
设计一个小型的备忘录程序。