论坛
门户
内部优惠
喜欢
话题
VIP会员
搜索
新浪微博
登录
注册
100%
100%
首页
>
软件开发
>
delphi语言
>
第一章 Delphi快速入门(四)
回复
« 返回列表
灯火互联
管理员
注册日期
2011-07-27
发帖数
41778
QQ
火币
41290枚
粉丝
1086
关注
100
加关注
写私信
打招呼
阅读:
4234
回复:
0
[系统教程]
第一章 Delphi快速入门(四)
楼主
#
更多
只看楼主
倒序阅读
发布于:2011-10-11 20:14
保存
100%
100%
[]
1
1.3.4.2 Shape
部件
图形部件
Shape
在前文中我们已有了解,它可以处理多种几何形状,通过设置
Pen
和
Brush
的嵌套属性,可以设置图形边框颜色、线型及图形的风格、填充方式、贴图方式等。
1.3.4.3 PaintBox
部件
在
System
页上还有一个
PaintBox(
绘图框
)
部件,它在窗体上为您提供一块可供绘图的区域。这一部件需要编程实现它的功能,一个只有在运行时才有效的重要属性
Canvas
是完成绘图的关键。
PaintBox
部件不能单独存在于窗体中,必须把它放在固定的分组部件中。
1.3.5
关系图、文件列表部件
1.3.5.1 OutLine
部件
OutLine(
略图
)
部件在
Win 3.1
页上,它适用于显示分层的数据、文本。在
Delphi
中,略图部件具有很宽的设置范围。它的
Lines
属性可以设置每一词条的文本或数据。一般一个空格相当于一个层次,如果在项目前加一个空格则表示它处于树的下一层。所以在进行
Lines
属性编辑的时候不能用
Tab
键。在编程时用
Lines
和
Items
属性来访问略图的名称、索引及完整的路径名。
OutLineStyle
属性用来配置显示时关系图的风格,您可以选定用旁边有图标的缩进方式,也可以选择连线方式。
1.3.5.2
目录访问部件
Delphi
为您提供了强大的文件目录访问部件。您可以针对具体的用途设计自定义的文件对话框。在部件选项板上选中
System
页,您将发现这些部件,它们是文件列表框
FileListBox
、目录列表框
DirectoryListBox
、驱动器下拉式列表框
DriveComboBox
和过滤式下拉列表框
FilterComboBox
部件。
文件列表框部件
FileListBox
显示当前目录中的文件,缺省的设置是显示所有文件。通过改变
Mask
属性来设置过滤器,可以适用
DOS
的标准通配方式,选择要显示的文件名。当指定多个过滤器时,之间用“
;
”隔开。
目录列表框部件
DirectoryListBox
显示当前驱动器内的目录,并且允许用户在程序执行时切换目录。
Column
属性决定目录在窗口中用多少列进行显示,当窗体空间不够时,用几列进行显示将有助于全面地显示目录信息。在
Delphi
中,当窗口空间显示不下全部信息时,将自动加上滚行条,以方便用户的操作。
驱动器下拉式列表框部件
DriveComboBox
显示当前所在的驱动器,并且在执行时允许用户在驱动器之间切换。作为程序员在应用这一部件时,应考虑当用户选择到不存在的驱动器时,进行容错、提示处理。
FilterComboBox(
过滤式下拉文件列表框
)
部件显示当前文件过滤器类型,例如
*.*
,
*.pas
等。在执行时允许用户在下拉列表中选择要显示的文件类型。对
Filter
属性进行初始化,就会得到下拉式列表。
除了以上的四个部件外,在
Sample
页上,
Delphi
还提供了一个目录略图部件
DirectoryOutline
。它将当前磁盘中的目录结构显示成一个多层次的略图,也允许用户在运行时进行目录的层次显示切换。
1.3.6
滚动部件
1.3.6.1 ScrollBar
部件
ScrollBar(
滚行条
)
是在
Windows
应用程序中常见的结构,在
Delphi
中多数部件有自己的是否加入滚行条的属性
ScrollBar
,但一个独立的滚行条部件仍是很有意义的。它在部件选项板的
Standard
页,提供一种可以改变菜单或是画面中可见部分的工具,可以以一定的增量在一定范围内滚动。
Position
属性是个整形值,如果需要以动态的方式显示滚行条,可以在程序中通过操作这一属性来实现。
1.3.6.2 ScrollBox
部件
ScrollBox(
滚动框
)
部件是加上了水平、垂直滚行条的群组框部件,它在
Additional
页上,用作在窗体中提供一个可以多方向滚行的工具。如果您只想显示较大幅面的一个部分,并允许您的用户对其进行滚行操作,
ScrollBar
将是理想的选择。您可以先在全幅面的滚动框中进行全面设计,然后适当地缩小外框,两个方向的滚行条将自动显示。它的
Position
属性是集成在
HorzScrollBar
和
VertScrollBar
两个集属性下的,编程时,可以选定这两个属性进行操作。
1.3.6.3
几个进度显示部件
在
System
、
Sample
、
Win 95
、
OCX
等页上,
Delphi
还为用户提供了几个部件,完成显示进度,增量等操作。部件
Gauge
可以显示成长条状的或饼状的进度指示仪表。例如在安装
软件
时,可以编程让这一部件显示目前安装的百分比。
微调按钮部件
SpinButton
含有指示向上、向下的两个按钮,它可以用来调节数值,使被控制的值按一定的增量单位,由用户操作递增或递减。
微调编辑框
SpinEdit是微调按钮和编辑框的结合,它在编辑区域显示了数值,又在右侧设了微调按钮,使得用户选择调节按钮或改变数值的方式,来调整数据的值,并返回Value属性。
其它的此类部件,因篇幅限制,此处不做赘述。具体部件的信息,按照名称在在线帮助中查询其方法、域及应用实例,可以得到详细应用资料。
1.3.7
网格、表格部件
在
Additional
页中,还有字符串表格部件
StringGrid
,绘图表格部件
DrawGrid
等。它们可以用来模拟按网格排列的事物,如成排的按键、操纵钮、字符串等。属性
RowCount
和
ColCount
设置了在网格中显示的行列的数目,设置
FixedCols
和
FixedRows
的值,可以固定一些行列避免运行时被用户改变。
Options
集属性含有字符串表格部件的显示方式、操作方式等,可以查阅帮助获得详细的信息,此处不再一一表述。
图形表格部件
DrawGrid
使得用户可以用表格的方式显示非文本的数据,它的应用面比字符串表格部件更为广泛,可以把图片和文本一起放在网格中。
颜色网格部件
ColorGrid
在
Sample
页上,它提供控制前景色和背景色的界面,通过属性
ForeGroundColor
和
BackGroundColor
可以访问到,也可以通过程序,把得到的颜色赋值给其它对象的颜色属性。
Sample
页的日历部件
Calendar
也是用表格的方式表现的,它提供了一个简单的以月份为库单元的日历表格,通过设定
Year
和
Month
的值,可以得到相对应的月份的日历。
1.3.8
多媒体
(MultiMedia)
和
OLE
部件
媒体播放器部件
MediaPlayer
和
OLE
部件可以在
System
页上找到。媒体播放器部件在处理多媒体文件时很有用。它显示一个
VCR
风格的控制面板,让您记录或播放多媒体的图像、声音文件。您可以通过属性的设定来控制部件上的各个按钮,如改变显示颜色、增减按钮数目等。改变一下
ColoredButtons
、
EnabledButtons
、
VisableButtons
的各个子属性值,您就不难发现它们控制的显示效果。具体的应用已经超过本简介的目的,请参阅帮助以及后文的详细介绍。
OLE
客户端部件
OLEContainer
在窗体中创建一个
OLE
用户区域,用于与
Delphi
外部的某个对象进行接口。若对外部的
Paradox
表格、
Word
文件、扩展页等进行操作,则对象本身的应用程序必须支持
OLE
操作。
Delphi
提供了支持
OLE
应用的对象清单,单击
ObjClass
属性的省略按钮,就会显示出来。具体的应用,请查阅帮助或阅读后文的详细阐述。
以上,我们介绍了
Delphi
的基本可视部件。读者可能会发现,在
Stardrad
页最前面的两个部件
MainMenu
和
PopupMenu
还没有提及。因为这是建立菜单的重要、基本操作,我们将在下一节中做详细的介绍。另外,在下文中,我们还将介绍比较重要的不可视部件。至于数据库部件、动态数据交换
DDE
部件等,因为在后面章节中有详尽的用法介绍,此处不赘述。
1.4
使用非可视部件
上一节介绍的各种部件,在设计和运行时的形式是一样的。本节所介绍的部件,在运行时被隐蔽地嵌入到窗口中,它们本身并不做任何事情,必须被用户的程序所支持才能发生作用。因为部件的设计形状和运行状态并不相关,所以,这种部件在设计窗体中的位置无关紧要,可以放在窗体上不影响其它可视部件的任何位置。这种部件,称之为非可视化部件。
首先,介绍在
Standard
页上的重要部件主菜单
MainMenu
和弹出式菜单
PopupMenu
的详细用法。
1.4.1
使用菜单部件
菜单部件含有内置的交互设计器。在设计菜单时,可以用菜单设计器
Menu Designer
进行工作。
应用程序的菜单有两种形式:
MainMenu
是一般的
Windows
用户界面必须的部件,它显示在固定的位置,一般用键盘和鼠标左键来激活菜单的功能项;
PopupMenu
是弹出式菜单,例如,我们前文的小例程在对齐部件时用到的
Delphi
菜单,就是弹出式的。一般以鼠标的右键或其它快捷键来激活菜单;菜单的位置是在屏幕上“浮动”的,根据鼠标的当前位置决定。
以下,我们将
MainMenu
和
PopupMenu
统称为菜单。
1.4.1.1
进入菜单设计器
Menu Designer
创建菜单时,首先要在窗体中放置一个菜单对象。然后调入
Menu Designer
进行菜单的详细设定。用两种方式可以进入
Menu Designer
:选中菜单部件,点动属性中
Items
省略按钮;或在菜单部件上双击左键,就会出现
Menu Designer
。
1.4.1.2
创建菜单的各个项目
进入
Menu Designer
,会发现在菜单的第一项位置上有加亮显示。输入顶层菜单项
(
实际上是在设定顶层菜单项的
Caption
属性
)
并回车。一项菜单条设置完后,加亮显示的位置被移至下拉菜单的下一项
,
同时,主菜单顶层上会出现虚线框,指示出下一个顶层菜单项的位置。要包含一个隔离条,可以键入短划横“
-
”即减号并回车。逐步输入菜单的各项,用鼠标左键切换到下一个顶层菜单,直到菜单完成。
1.4.1.3
设定加速键和热键
您可以设定加速键,与前文的例程相同,只需在输入时,将“
;
”放到需要指定为加速键的字母前面,该字母将被用下划线显示,运行时,按“
Alt+
加速键字母”可以激活该菜单条。设定热键也是很方便的,只需在
Object Inspector
中该菜单条的
ShortCut
属性值段的下拉菜单中,为它选定一个热键组合即可。在运行时,通过“
Ctrl+
热键字母”来激活菜单条。加速键和热键并不矛盾,您可以同时指定它们。
1.4.1.4
使用
Menu Designer
的弹出式菜单
Menu Designer
中还有一个弹出式菜单,它提供了高频菜单创建命令,并可以对模板选项进行快速访问。在菜单设计器窗口中单击右键,或将光标停在菜单设计器上,按
Alt-F10
,可以调出
Menu Designer
的弹出式菜单。使用
Menu Designer
的弹出式菜单可以向菜单增加菜单项、删除菜单项等操作,还可以对标准主菜单模板进行增加、删除、插入等操作。
为菜单编制功能,可以双击菜单条,或在特定菜单条的
Events
页上,双击它响应的事件的值段,
Delphi
将回到代码编辑器,光标停在事件对应的事件处理过程中,您可以为菜单编制实现任务的代码。
如果您已经为
Speed Bar
上的加速按钮编制了事件处理过程,而需要把相应的菜单项连接到事件处理过程上,则只需在该菜单项的
Events
页的
OnClick
事件后,输入事件处理过程的名称即可。这样单击菜单项便和按动加速按钮便实现同样的功能。
1.4.1.5
创建嵌套菜单
创建嵌套菜单也是重要的手段。
Delphi
的嵌套菜单风格是嵌套菜单列在它上层菜单的边上,如图
1.11
所示:
创建嵌套菜单,把加亮条移到它的上层菜单条上,按
Ctrl+
右行键,将弹出子菜单,就可以按照同上所述的方法进行创建工作了。
通过拖
--
放操作,可以实现菜单条的重新定位。用鼠标左键按住某一菜单条,移动到菜单的某一位置,释放左键,菜单条即得到重新定位。菜单设计器允许菜单条在顶层下移动位置,支持菜单条在嵌套菜单中移进、移出,甚至可以将菜单条在各个顶层菜单下属的菜单间移动与定位。
1.4.1.6
给菜单加提示
(Hint)
在菜单中加提示是很好的习惯。它使得您的用户在运行菜单功能前,可以对菜单的任务有一个简略的了解。在菜单条任一项的值段按
F1,
可以查阅在线帮助,在帮助的正文中找到
OnHint
并查阅它的例程,将
DisplayHint
等方法的例程
Copy
到您的程序中。然后,在菜单条的
Hint
属性中加入提示正文,运行时当用户将鼠标移到菜单项时,在窗体的底部状态行中会出现
Hint
属性中的提示信息
1.4.1.7
菜单的其它属性简介
菜单还有其它的一些属性。
Enabled
属性决定菜单是否被禁用,这在编程中可以实现一定情况下不允许用户使用某项菜单。
Checked
属性表征了菜单项的开关情况,当
Checked
为
True
时,菜单条的前面会出现选中标志。
Visible
属性控制菜单隐藏与否。设置这一属性可以实现多版本的菜单。被隐藏的菜单项以及它的子菜单都是不可见的,或是不可访问的。
Popup Menu
在用
Menu Designer
时是完全相同的。只不过它在运行时和主菜单的激活形式有所不同:它是用鼠标的右键激活的。弹出式菜单在一定的窗口范围内激活,所以必须将窗口和弹出式菜单联系起来。在设计完
PopupMenu
后,须在
Name
属性中为它命名,然后把这个名称赋给窗体的
PopupMenu
属性。这样,窗口会接收右键输入,并激活弹出式对话框。
1.4.2
使用计时器部件
Timer
在
System
页上,还有一个
(Timer
计时器
)
部件,它能够有规律地触发
OnTimer
事件,发送信息给应用程序。它是编制应用程序时最为重要的部件之一。
1.4.2.1 Timer
的重要属性
Enabled
属性表示了计时器打开还是关闭;用
inter
val
属性设置两个
OnTimer
事件间的间隔,单位是毫秒,也即千分之一秒。将间隔置为
0
相当于关闭计时器,
Interval
的最大允许值是
32767
,也即
32.767
秒。
1.4.2.2
使用
Timer
对程序进行控制
计时器是独立的对象,在启动与
Windows
无关的逻辑和应用事件时极其有用。如:用计时器可以模拟时钟或计时器,可视地显示经过的时间;可以用作系统延时,
Delphi
提示信息出现只需在该区域停顿几秒,就是
Timer
应用的一个例子;可以检查系统环境、事件,根据结果进行响应;也可以在窗口中闪烁一段正文或图像,提示某种操作或处理正在进行等等。
在窗体中放置一个计时器
Timer
部件,将它的
Interval
属性置为
100(
每隔
10
毫秒触发一次
)
,双击部件进入代码编辑器,在它的事件中加入这样一句程序:
MessageBeep(0);
运行它,会有规律地发出“叮”声。它给您一个应用
Timer
部件的直观印象。
尽管
Delphi
的计时器每秒可以产生
1000
次激发,在编程中还必须注意程序对计时器激发的响应。如果程序处理
OnTimer
事件的时间超过
Interval
的设定值,就可能错过事件,因为当下一次激发到来时,系统正忙于处理上一事件,则这次激发就会被忽略。同时要注意其它的
Windows
应用程序是否会影响计时器的触发。如果后台正运行着一个占用处理器的程序,就可能会导致
Timer
的触发不准确,从而使前台程序运行出现错误。
1.4.3
使用公用对话框部件
Delphi
为您在
Dialogs
页上提供了几个标准对话框,它们是文件打开
OpenDialog
;文件保存
SaveDialog
;字体
Fontdialog
;颜色
ColorDialog
;打印
PrintDialog
;打印设置
PrintsetupDialog;
查找
FindDialog
;替换
ReplaceDialog
等部件。
喜欢
0
评分
0
最新喜欢:
淘宝天猫隐藏优惠券地址
回复
100%
发帖
回复
« 返回列表
普通帖
您需要登录后才可以回帖,
登录
或者
注册
100%
返回顶部
关闭
最新喜欢