第 3章 可视化组件的应用
内容提要
? 窗体与组件
? 常用组件的使用
3.1 窗体与组件
在 Windows环境中,人机交互主要是在一
些窗体和对话框中进行的。在 Delphi中,
窗体指的就是窗口和对话框,进行可视化
程序设计一般就是从窗体开始并在窗体中
完成的。窗体本身就是一个组件,它与其
他组件不同的是:窗体像一个可以放置东
西的容器,可以根据任务的需要在其上放
置各种各样的组件。窗体与组件的关系参
见图 3-1。
3.1.1 窗体与组件的关系
图 3-1 窗体与组件
3.1.2 组件的公共属性和事件
不同的组件具有不同的属性、方法和事件,但有些属性
和事件是公共的,也就是它们虽然出现在不同的组件中但含
义和使用方法相同。
1.常用的公共属性
(1) Action 属性。用来设置与菜单项相关的动作对象,可
以通过动作列表编辑器来设置。
(2) Align 属性。用于决定组件在窗体或上一级组件中的位
置和尺寸。
(3) Autosize 属性。用于决定组件是否随其所包含内容的
大小而调整尺寸。
(4) Caption 属性。用来设置组件的标题。
(5) Color 属性。用来设置组件的颜色。
(6) Cursor 属性。
用于设定当鼠标的光标落入该组件的区域时鼠标光标的形状。
(7) Font 属性。
用于设置组件上所显示的文字的字体。
(8) Height 属性和 Width属性。用于设置组件的高度和宽度。
(9) Hint 属性和 ShowHint 属性。
Hint属性用于设置鼠标在组件上停留是显示提示信息的内容;
ShowHint属性用于指定鼠标在该组件上停留时是否显示提示
信息。
(10) Left 属性和 Top 属性。
指定该组件在窗体中的左上顶点的坐标值。
(11) Name 属性。这是每个组件都具有的属性,该属性用于指
明组件对象的名字,通过组件对象的名字来使用组件。
(12) ParentColor 属性。
ParentFont 属性和 ParentShowHint 属性。当这些属性值
设置为 Ture时,组件使用它的上一级组件的同一属性的设置植,
这样可以使程序保持一致的风格。
(13) PopUpMenu 属性。
用于指定当右击该组件时 弹出时的弹出式菜单 PopUpMenu
的名字,此时这个弹出式菜单应该已经存在,PopUpMenu本身
也是一个组件。
(14) Text属性 。
用于指定文本类组件显示的文本, 类似于 Caption属性 。
(15) Visible属性 。
决定组件是否可见 。 当设置为 True时, 在运行时可以看到
该组件;设为 False时运行时不可见 。
2,常用的公共事件 ⑴ onClick事件 。 鼠标左键单击某组件时触发该事件 。
⑵ onDblClick事件 。 鼠标左键双击某组件时触发该事件 。
⑶ OnEnter事件和 OnExit事件 。 当通过鼠标单击组件或
Tab键跳转到组件上时, 该组件获得焦点, 此时该组件的
OnEnter事件被触发;该组件由焦点状态转为非焦点状态
时将触发 OnExit事件 。
⑷ OnMouseDown事件, OnMouseMove事件和 OnMouseUp事

这是响应鼠标的一组事件 。 其中当鼠标在组件上被按下时
触发 OnMouseDown事件;当鼠标在组件的显示区域内移动
时触发 OnMouseMove事件;当释放了在组件区域内按下的
鼠标键时触发 OnMouseUp事件 。 这三个事件不仅可以判断
鼠标按下的是左, 中, 右键中的哪一个键, 还可以判断是
否同时按下了 Alt,Shift或 Ctrl键 。 具体应用请看下面章
节的组件介绍 。
⑸ OnKeyDown事件,OnKeyUp事件和 OnKePress
事件
这是响应键盘的一组事件。组件处于激活的焦
点状态时,按下了键盘上的键时将触发
OnKeyDown事件,返回的是按下键的键值,可以
是复合键;释放一个按下的键时将触发 OnKeyUp
事件;键盘上的键一次完整地按下和释放操作
将触发 OnKeyPress事件。
3.2 常用组件的使用
Delphi封装了大量的可视化组件, 使程序员能够在
拖拖放放中轻松地设计程序界面 。 Delphi中提供的
【 Standard】, 【 Additional】 和 【 Win32】 三个标
签页放置基本组件 。 这些组件都是任何程序设计必不
可少的 。 本节将详细介绍常用组件的使用方法 。
3.2.1 Label组件
Label( 标签 ) 组件 在 Standard标签页中, 主要用于在窗体中显示提示信息, 常与 Edit组件一起使用, 是显示
文本的主要组件 。 其特殊属性有,
1,Autosize属性
该属性用来判断 Label( 标签 ) 组件是否随
Caption属性值自动调整大小 。 如果该属性值为
True,则 Label的长度随着 Caption属性值自动调整
大小;如果该属性值为 False,则 Label保持设计时
定义的大小不变, 此时, 若标题太长, 则只能显示
部分内容 。
2.Caption属性
该属性用来设置在标签上显示的文本 。
3,Wordwrap该属性
该属性用于设置 Caption属性的显示方式 。 缺省
为 False,表示标签上的标题 ( 提示信息 ) 不能自动
换行;如果该属性为 True,则标签将在垂直方向变化
大小, 以使其与显示的文本相适应, 而水平方向的大
小不变 。 但若想使该属性起作用, 还必须将 Autosize
属性设为 True。
4,Layout该属性
该属性可以改变文本在标签中的位置 。
5,Transparent该属性
该属性决定标签的背景是否透明 。 其值为 True
时, 透明, 即标签不会挡住它下面的组件 。 默认值为
False。
3.2.2 Edit组件
Edit组件在 Standard标签页中, 也称 编辑框组件是 Windows程序中常用的组件, 它主要用于输入单行文字 。 Edit组件的常用属性有,
1.AutoSelect属性
该属性 确定当编辑框获得输入焦点时,编辑框中的文字
是否自动被选中。
2,AutoSize属性
该属性 确定编辑框是否随字体变化而自动变动尺寸, 缺
省为 True。
3,BorderStyle属性
该属性确定 Edit控件是否有边框。
4,CharCase属性
该属性 设 置 文 本 框 内 字 符 的 大 小 写, 其值为:
ecLowerCase,全部转换为小写; ecNormal,不转换;
ecUpperCase,全部转换为大写 。
5.HideSelection属性
该属性决定当输入焦点从 Tmemo组件移走后, 编辑框内原
来被选中的文本是否依然保持选中状态 。 其设置为 True,不
保持;其值为 False,保持 。 该属性的默认值为 True。
6.MaxLength属性
该属性 确定编辑框最多可以输入的字符数, 缺省值为 0,
表示可以输入任意多的字符; 如果该属性不为 0,只能向编辑
框中输入小于或等于设定值的字符数 。
7.Modified属性
该属性确定编辑框中的内容自建立以来或者 Modified属
性最后一次被设置为 False之后是否被修改 。
8,PasswordChar属性
该属性 在一些编辑框组件如 TMaskEdit,TDBEdit中都有 。
缺省时该属性为 #0,即没有掩码 。 用户可以自己设置一个掩
码, 如 ‘ *’, 则用户在编辑框中输入的字符都将以 ‘ *’ 字
符显示, 而隐藏真实的字符 。
9.Text属性
该属性用于显示和保存编辑框中的内容 。
10.ReadOnly属性
该属性 确定程序运行时, 用户是否可以改变编辑框中的
内容 。 若为 True,表示编辑框是只读的, 其内容不可以编辑
修改 。
11.SelLength属性
该属性可以返回在编辑框中被选中的文本的长度 。
12.SelStart该属性
该属性确定在编辑框中被选中文本的起始位置 ( 第一个
字符的序号为 0) 。
13.SelText属性
该属性 用来设置或指示选中的文本 。
Edit组件的主要方法
方 法 说 明
Clear
使用该方法可以清除文本框中的文本内容 。
CanFocus
该方法用来测试 Memo控件是否可以接受焦点 。 如果其值为
False,则控件不能接受焦点;反之可以接受焦点 。
ClearSelection
该方法将删除 Memo框中被选中的文本 。 如果在 Memo控件中
没有被选择的内容, 那么该方法不删除任何东西 。
CopyToClipboar
d
使用该方法可以将文本框中选中的内容复制到剪切板中 。
CutToClipboard 使用该方法可以将文本框中选中的内容剪切到剪切板中 。
PasteFromClipb
oard
使用该方法可以将剪切板中的内容粘贴到文本框中 。
SelectAll
使用该方法将选中文本框中的所有内容 。
Edit组件常用的几个事件有,OnChange,OnKeyPress,OnEnter事件。
Edit组件的常用事件
事 件 说 明
On Change
当编辑框中的内容发生变化时, 触发该事件, 它是 Edit中最
常用, 也是最有用的事件之一 。
OnKeyPress
当按下一个按键时, 触发该事件 。
OnEnter
编辑框获得输入焦点时, 触发该事件 。
3.2.3 Memo组件
Memo组件在 Standard标签页中, Memo组件为用户提供了一种处理多
行文本的方法, 还可用它快速地阅读文件中的数据, 而且读取和保存
文本的最大长度可达 255KB。
? Memo组件的属性
Memo组件的属性, 方法和事件与 Edit组件大致相同 。 其特有的几个
属性有,
1,Lines属性
按行处理文本。
2,ScrollBars属性
该属性用来设置备注框是否出现滚动条以及滚动条的种类 。
3,WordWrap属性
该属性用来决定当输入的文本到达右边界时是否插入软回车,以
便换到下一行再输入。
3.2.3 Memo组件
? Memo组件的方法
⑴ 使用剪贴板( Clipboard)
Memo组件同 Edit组件一样,也可使用 CutToClipboard、
CopyToClipboard和 PastFromClipboar这三种方法,实现
将 Memo组件中被选择文本剪切或复制到剪贴板上,以及将
剪切板上的内容粘贴到 Memo组件中。
将 Memo中的选中文本剪切到剪贴板的语句如下,
if Memo1.SelLength>0 then
Memo1.CutToClipboard;
2.文本的添加 (Add方法 ) 利用 Lines属性,可以增加、删除一行文本,也可以移动一行
文本。下面的代码将文本添加到 Memo中的最后一行,
Memo1.Lines.Add(‘在 Memo1的最后添加一行文本 ’ );
3,文件的保存和装载 (LoadFile方法,SaveToFile方法 )
Memo1.Lines.LoadFile(Opendialog1.FileName)
可以将 Memo组件中的文本保存成文本文件,也可以将文本
文件装载到 Memo中。这需要配合使用 SaveDialog组件和
OpenDialog组件。将 Memo中的文本保存为文本文件的语句为,
if SaveDialog1.Execute then //打开保存
Memo1.Lines.SaveToFile(SaveDialog1.FileName);
以上语句先打开保存对话框,然后将 Memo中的文本保存对
话框到一个文件中,文件名为我们在 SaveDialog中输入的文本。
在 Memo中装载文本文件的语句为,
if Opendialog1.Execute then
Memol.Lines.LoadFile(Opendialogl.FileName);
3.2.4 MaskEdit组件
MaskEdit组件在 Additional标签页中,
MaskEdit组件(也称掩码编辑框)是一种特殊
的编辑框,它的主要属性是 EditMask。使用它
可以设计出许多复杂的输入格式。在选用
MaskEdit之后,需要为它设计一个输入格式。
其格式输入符参见 P99页表 3- 6。
MaskEdit组件输入格式符 格式符 意义
l和 L
l表示该位置只可能是一个字母,可以用光标键跳过它,但是不能是
其它类型的字符。 L表示该位置必须是一个字符。
a和 A
a表示该位置只可能是一个字母或数字字符。 A表示该位置必须有一个
字母或数字字符。
c和 C
c表示该位置只可能是一个字母,C表示该位置必须有一个字母。
9和 0
9表示该位置只可能是一个数字,0表示该位置必须有一个数字。
〈 和 〉
< 格式符表示随后的字母均以小写的形式显示,直到遇到一个 > 格
式字符或 <>格式符。 > 格式符则和 < 正好相反。
〈〉
表示不作大小写转换,以输入时的形式为准。
\
表示该格式符之后的那个掩码格式符将作为数据中的普通字符对待。
如果想在数据中放进一个掩码格式符时,应该在这个格式符前放一个
\符号。如 \A等等。
#
表示该位置可能是一个数字或正符号。
!
如有 !表示数据前的空格将不被保存在数据中,没有 !则数据后的空格
不被保存。 !格式符只能放在掩码格式符的第一个字符处。;和 /
标准的分隔符,可作为数据的一部分。其中 /在显示时为 ‘ - ’ 而非 /。
3.2.5 RichEdit组件
RichEdit组件在 Win32标签页中,RichEdit组件
和 Memo组件非常相似,但 RichEdit组件功能更
强大,能够对文字进行格式化,如设置字体、
颜色等,可以插入 OLE文档,支持鼠标拖放,还
可以对文本进行搜索和打印。一般用 RichEdit
组件制作文本编辑器。具体应用与例 3-4类同请
参阅例 3-4的界面及代码部分。
3.2.6 ListBox组件
ListBox(列表框)组件在 Standard标签页中,ListBox通常用来
对一组信息进行列表。列表框和组合框( ComboBox)的功能类
似,只不过组合框一次只能显示一条信息,要浏览全部信息,
需要按下组合框旁边的三角按钮。在列表框中的项目列表是
Items属性的值,可使用 Add,Insert,Delete方法对列表框中的
项目进行增加、插入和删除操作。
? ListBox组件 的主要属性有,
1,Canvas
该属性只有在列表框风格为自绘时才有用,用于在列表框项目
上绘制图形。
2,Colums
该属性用来控制列表框中的项目需显示成几列。默认是 0,表示
以单列显示。
3,Height
该属性决定列表框在垂直方向的高度。
3.2.6 ListBox组件
4,ItemIndex属性
该属性指出在列表框中被选中的哪个项目的索引号。
5,Items属性
该属性用来存放列表框中的列表项。
6,MultiSelect属性
该属性用来设置能否在列表框中选择多个列表项,即
是否允许多选。
7,Selected属性
该属性用来测试某个列表项是否被选中 。
8,Stored属性
该属性决定是否自动地为用户进行排序。
3.2.6 ListBox组件
? ListBox组件的常用方法
1,Clear方法,该方法清除在列表框中的所有项目 。
2,Add方法,可在运行时使用该方法为列表框添加新项目 。
3,Delete方法,可在运行时使用该方法删除列表框中的
项目 。
4,Insert方法,可在运行时使用该方法为列表框插入新
项目 。
5,ScreenToClient方法:该方法返回列表框在屏幕上的当
前位置。
6,ClearSelection方法:该方法的作用是清除列表框中所有
被选中的选项。
7,CopySelection方法:该方法用来把列表框中的所有选中
的列表项复制到另一个列表框中。
?ListBox组件的事件
OnDrawItem事件,当列表框中的内容重新显示时, 该事
件发生 。 比如, 当用户选择了列表框中的项目, 系统需
对选择的项目反白显示, 此时就触发 OnDrawItem事件 。
但是该事件仅当 Style属性值为 IbOwnerDrawFixed或者
LbOwnerVariable时才会发生 。
OnEnter事件,当 ListBox组件成为当前列表框时, 该事
件发生 。
OnMeasureItem事件,不管何时应用程序需重新显示在
列表中的项目时, 该事件发生 。 在事件发生后, 它将测
出需重画区域的大小参数传给 OnDrawItem事件, 该事件
重新显示给定的区域 。
3.2.7 ComboBox组件
ComboBox组件在 Standard标签页中, 称
为组合框 。 它是设计 Windows应用程序时
使用较多的组件 。 它汇集了列表框和编
辑框的功能, 使用户可从下拉列表中选
择数据或者直接向组合框中输入数据 。
? ComboBox组件的属性
1,Style属性
该属性用来设置或返回组合框的风格 。
2,Text属性
该属性用于设置或返回组合框中当前显示出来的文本值 。
3,ItemIndex属性
该属性指定组合框中被选择的项目 。
4,SelStart属性
该属性确定组合框中所选文本的开始位置 。
5,DropDownCount属性
该属性控制组合框被下拉时弹出的项目条数 。 超出该属性
规定的项目数时, 自动出现垂直滚动条 。
? ComboBox组件的常用方法
ComboBox组件的常用方法与 ListBox组件的相同, 其列表项也是由
Items属性来控制 。 在程序中可以使用 Add,Delete,Insert方法进行项目
的添加, 删除和插入操作等管理 。
3.2.8 GroupBox组件
GroupBox组件又称为分组框组件, 它在
组件面板的 Standard标签页中 。 在该组
件里可以放置如 RadioButton,CheckBox
等组件 。 放进去的组件将会自动成为一
组 。 通过它的 Caption属性可以修改该组
件的标题 。
3.2.9 RadilGroup组件
在对象查看器中单击 Items属性旁边的省略号,然后在弹
出的 【 String List Editor】 对话框中添加项,每添加一行
就会在 RadioGroup组件中产生一个标题为添加项文本内
容的 RadioButton组件,添加完单击 OK按钮。
? RadioGroup组件的属性
1,Items属性
Items属性用于生成个单选按钮 。
2.ItemIndex属性
ItemIndex属性用于表明单选按钮组中哪一项被选中
了 。 若为-1 ( 缺省值 ), 表示没有被选中的项;若为
0,表示第一项被选中;若为1, 表示第二项被选中;
其他依次类推 。
3.2.10 Button组件与 BitBtn组件
Button组件 ( 按钮 ) 是 Windows应用程序界面中最常用, 最简单的组件
之一 。 除此之外, Delphi还提供了一种位图按钮 ( BitBtn) 。 这种按
钮的不同之处在于按钮上可以显示位图 。
? Button组件的主要属性
1,Caption属性:标题属性 。
2.Cancel属性
决定该按钮是否为取消按钮,默认值为 False。
3.Default属性
决定该按钮是否为默认按钮,缺省值为 False。
? Button组件的常用事件
OnClick事件:单击事件,是 TButton组件的最常用事件。
3.2.10 Button组件与 BitBtn组件
?BitBtn组件的主要属性
1,Glyph属性
为按钮指定一个位图文件, 显示在按钮的表面 。
2,Kind属性
决定位图按钮的种类。位图按钮使用最多的属
性就是 Kind。
?BitBtn组件的常用事件
OnClick事件:单击事件,是 TButton组件的最常用
事件。
3.2.11 SpeedButton组件
?SpeedButton组件通常称为快捷按钮,在
Additional标签页中。此组件与位图按钮
非常相似,同样可以显示图像,它们的主
要区别是,SpeedButton按钮一般只显示
图像不显示文字,另外 SpeedButton可以
保持在单击时被选中的状态,该组件在
设计工具栏时使用。
?SpeedButton组件的特殊属性
1,AllowAllUp属性
该属性为 True,则表示允许一组中的所有快捷按钮均为弹起状态。
如果设置为 False,则表示某组快捷按钮中至少有一个不能弹起。
2,Down属性
该属性用于设置按钮的状态,其值为 True,表示按钮处于选中状态。
默认值为 False。
3,Flat属性
该属性判断按钮是否被选中。其值为 True则表示按钮在非选定状态
下没有边框,只有在选中的状态下才有边框。
4,GroupIndex属性
当需要将几个快捷按钮合成一组时,需要用 GroupIndex属性设置。
5,Cursor属性
该属性用于设置鼠标的形状,可供选择的形状很多,不同的形状可
增添程序的趣味性。
3.2.12 CheckBox组件
CheckBox组件通常称为复选框,复选框往往是多个构成
一组,在应用程序运行时,可以选中其中的一个或多个,
也可以一个都不选。
? CheckBox组件的主要属性
1,Caption属性
该属性表示复选框所提示的内容 。
2,Checked属性
该属性表示复选框是否被选中,有两个可选值:
True表示复选框被选择,False 表示未选中。
3,State属性
该属性表示复选框当前的复选状态,其值有三种:
cbUnChecked(未选中 ),cbChecked(选中),cbGrayed
( 变灰选中)。
3.2.13 RadioButton组件
?RadioButton 组 件 通 常 称 为 单 选 按 钮, 在
Standard标签页中, 单选按钮提供了一个选项
集, 只能在这些选项中排他性地选择其中一个,
所以叫单选按钮 。
?该组件的主要属性就是,Checked属性, 该属
性表明单选按钮是否被选中 。 如果选中, 则该
属性值为 True,默认值为 False,表示未选中 。
3.2.14 Image组件
? 图像组件 Image在 Additional标签页上,用来
在窗口中显示一幅图片,可以在 picture属性
中调入图像文件。 Delphi支持位图 (.BMP)、图
标 (.ICO)、图元 (.WFM)三种文件格式。
?比较重要的属性,
Autosize属性和 Stretch属性。
它们决定了图像在窗口中的显示尺寸。
Autosize属性为 True表示按原尺寸显示,
Stretch属性为 True表示图像按对象图框的大
小显示,这时图像的大小可以人为改变。
3.2.15 Shape组件
图形组件 Shape可以处理多种几何形状,
如线形, 矩形, 圆形等 。 通过设置 Shape
属性设置几何图形的类型, 通过设置 Pen
和 Brush的嵌套属性, 可以设置图形边框
颜色, 线型及图形的风格, 填充方式等 。
? Shape属性可选值为 stCircle,stEllipse、
stRectangle,stRoundRect及 stRoundSquare。
3.2.16 TreeView组件
TreeView( 树状视图 ) 组件, 在 Win32标签页中 。 可以
利用该组件描述一个树状结构, 如 Windows资源管理器
左窗格显示的树形结构目录, 就可以利用 TreeView组
件实现 。
在 TreeView中,每个节点都是 TtreeNode类型的对
象,而它和所属的节点又组成了一个 TtreeNodes对象。
在图 3-14中,Windows是一个 TtreeNode对象,而
Windows和其下的子目录又构成了一个 TtreeNodes对象,
访问 TtreeNode和 TtreeNodes对象的方法有所不同。
图 3-2 TreeView示例
3.2.17 ListView 组件
ListView( 列表视图 ) 组件, 在组件面
板的 Win32标签页 。 Windows资源管理器
的右半部分是典型的列表视图 。 它有四
种方式, 即大图标, 小图标, 简单列表
和详细列表 。 ListView组件本身比较复
杂, 主要有两类对象来控制, 那就是纵
向 的 列 对 象 TlistColumn 和 横 向 的
TlistItem对象 。
?TlistColumn
每 个 列 都 有 标题, 对 齐 方式 及 宽 度等 属 性 。 在
TlistView中, 所有的列集中起来, 由 Columns管理的, 它
是一个 TlistColumns对象, 有属性 Items和 Count,通过这
个对象的数组属性 Items[ n] 来访问每个列 。 使用 Columns
的 Add方法可以增加列 。
?TlistItem
这是描述列表项目的对象 。 每个项目都应有标题
Caption, 复选状态 Checked 。 属性 ImageIndex,
OverLayIndex,StateIndex分别表示项目的图标序号, 用
于透明覆盖的图标序号, 用于表明状态的图标序号 。 属性
Selected,Cut,Focused分别表示项目是否被选中, 是否
被剪贴, 是否具有输入焦点 。 所有的项目集中由 TlistView
的属性 Items管理, 它是 TlistItems对象, 有属性 Items和
Count,通过这个对象的数组属性 Items[ n] 来访问每个项
目, 使用方法 Add增加列表项目 。
?TlistView组件的示例操作 (1)赋值
with ListView1.Items.Add do
begin
Caption:=?caption?; //添加第一项
SubItems.add(?aaaaa?); //添加后面数据
SubItems.add('1234');
end; //一定要使用 WITH结构,
(2)取值
listview1.Items.Item[i].Caption; //取得某条数据标题
listview1.Items.Item[i].SubItems.Strings[j]; //取得某条数据内容
listview1.Items.Item[i].SubItems.CommaText; //一条记录的全部内
容,格式,,标题,,“内容 1”,“内容 2”,...,
listview1.Items.Item[i].SubItems.Text //一条记录的全部内容
(3)删除 listview1.Items.Item[i].Delete; 删除一条数据
(4)数据类型定义 i:=ListView1.Items.Count; //数据条数
listview1.Items.Item[i].Selected; //决定该条数据选中否
(5)其他 ListView1.Items.Clear; 清除数据
3.2.18 网络和表格组件
? StringGrid( 字符串表格 )
用来以行和列的形式显示数据 。
? DrawGrid( 图形表格 )
DrawGrid组件使得用户可以用表格的方式显示非文本的
数据,它比字符串表格组件应用更为广泛,可以把图片和
文本一起放在网格内 。
? ColorGrid组件
它提供控制前景色和背景色的界面, 用户通过属性
ForegroundColor和 BackgroundColor可以访问到, 也可
以通过程序把得到的颜色赋值给其他对象的颜色属性 。
? Calendar( 日历 ) 组件
该组件也是以表格的方式出现的, 它提供了一个简单的
以月份为库单元的日历表格, 通过设定 Year和 Month的
值, 可以得到相对应的月份的日历 。
3.2.19 计时器组件 Timer
Timer(计时器)组件,在 System标签页
上,它能够有规律地触发 OnTimer事件,
发送信息给应用程序。它是编制应用程
序时最为重要的组件之一,一些动态字
幕、闪烁的文本通常使 Timer组件应用的
效果。
?Timer组件的重要属性
⑴ Interval属性
设置两个 OnTimer事件间的间隔,单位是毫秒。将间隔置
为 0相当于关闭计时器,Interval的最大允许值是 32767,亦即
32.767秒。
⑵ Enabled属性
决定计时器打开还是关闭。该属性设置为 True时,每经过
Interval属性设置的时间间隔 就会触发一次 OnTimer事件。
?使用 Timer组件对程序进行控制
计时器是独立的对象,在启动与 Windows无关的逻辑和应
用事件时极其有用。如:用计时器可以模拟时钟或计时器,可
视地显示经过的时间;可以用作系统延时,Delphi提示信息出
现只需在该区域停顿几秒,就是 Timer应用的一个例子;可以
检查系统环境、事件,根据结果进行响应;也可以在窗口中闪
烁一段正文或图像,提示某种操作或处理正在进行等等。
?组件应用练习题:计算机硬件配置程序
【 题目要求 】
设计一个计算机硬件配置程序, 程序的设
计界面如图 3-3所示 。 程序运行时选中相应的配
件后按 【 确定 】 按钮, 将把配置情况显示在左
侧的列表框中, 如图 3-4所示 。
图 3-3 程序设计界面
图 3-4 程序运行界面