第7章常用组件 本章要点: 区组件的基本概念 区窗体和按钮组件的使用 区标签和编辑组件的使用 区列表框和组合框组件的使用 区其他组件的使用
本章要点: 组件的基本概念 窗体和按钮组件的使用 标签和编辑组件的使用 列表框和组合框组件的使用 其他组件的使用 第7章 常 用 组 件
71窗体和按钮组件 组件( Components)是在工程设计时可以使用、处理的可视对象,是那 些用于生成用户界面以及为程序提供附加功能模块的对象。 Delphi7.0提供了 大量的可视组件,可以利用第三方组件的接口,丰富 Delphi7.0应用程序,本 章介绍 Delphi7.0的常用组件,在第7章进一步介绍基于组件的开发。 打开 Delphi7.0的默认界面,在 Component palette中选择相关组件添加 到默认表单中。但有时会发生在组件面板中找不到需要的组件图标的情况, 不妨试试下面的操作。单击Vew菜单,选择 Component list菜单项将出现如 图7-1所示对话框。 TAccessFom Acces J TAccessReferences Add to for 图7-1 Components对话框 Inprise Dephi
7.1 窗体和按钮组件 组件(Components)是在工程设计时可以使用、处理的可视对象,是那 些用于生成用户界面以及为程序提供附加功能模块的对象。Delphi 7.0提供了 大量的可视组件,可以利用第三方组件的接口,丰富Delphi 7.0应用程序,本 章介绍Delphi 7.0的常用组件,在第7章进一步介绍基于组件的开发。 打开Delphi 7.0的默认界面,在Component palette中选择相关组件添加 到默认表单中。但有时会发生在组件面板中找不到需要的组件图标的情况, 不妨试试下面的操作。单击View菜单,选择Component list菜单项将出现如 图7-1所示对话框。 图7-1 Components 对话框
71.1窗体组件(1) 窗体是可以放置各种组件的一个窗口,在运行时就是一个窗口,它是应 用程序的主要界面,它的友好直接影响程序的使用和质量。接下来介绍窗体 的常用属性和事件 1.常用属性 Name属性、 Formstyle属性、lo属性、Ⅵsibe属性 2常用事件 On Create享件、 Onkey Dou件、 OnDestoy事件 【例7-1】窗体用法。 s进入 Delphi7.0集成开发环境,对默认的表单的一些属性进行设置 如下所示: name: MainForm Caption:主窗体 Formstyle: fsMDIForm Inprise Dephi
7.1.1 窗体组件(1) 窗体是可以放置各种组件的一个窗口,在运行时就是一个窗口,它是应 用程序的主要界面,它的友好直接影响程序的使用和质量。接下来介绍窗体 的常用属性和事件。 1. 常用属性 Name属性 、Formstyle属性、 Icon属性、 Visible属性 2. 常用事件 OnCreate事件、 OnKeyDown事件、 OnDestoy事件 【例7-1】窗体用法。 进入Delphi 7.0集成开发环境,对默认的表单的一些属性进行设置, 如下所示: name:MainForm Caption:主窗体 Formstyle: fsMDIForm
71.1窗体组件(2) 单击File,选择NeW后单击Fom,在出现的另一个表单 中作如下修改: name: SubForm Caption:子窗体 区主音特 干W售 Formstyle fsMDiChild 为 Subfrr表单中OnCⅰk事件添頒如下代码: procedure TSubForm FormClick (Sender: Tobject); begin Subform color =clred 7-2窗体 end 应用 单击RUn菜单运行程序,当单击子窗体时,发现子窗体 的颜色发生了改变。程序运行结果如图7-2所示。 注意:由于只是为了演示组件的功能,所以对程序本身实现的意义并 不关心,这一点需要注意。 Inprise Dephi
7.1.1 窗体组件(2) 单击File,选择New后单击Form,在出现的另一个表单 中作如下修改: name:SubForm Caption:子窗体 Formstyle:fsMDIChild 为SubFrm表单中OnClick事件添加如下代码: procedure TSubForm.FormClick(Sender: TObject); begin Subform.Color:=clred; end; 单击Run菜单运行程序,当单击子窗体时,发现子窗体 的颜色发生了改变。程序运行结果如图7-2所示。 注意:由于只是为了演示组件的功能,所以对程序本身实现的意义并 不关心,这一点需要注意。 图7-2 窗体应用 7-2 窗体 应用
712按钮类组件(1 在 Delphi7.0中,常用的按钮类组件可分为三种:普通按钮( Button)组 件、位图按钮( BitBtn)组件和加速按钮( Speed Button组件。下面介绍 它们的用法。 1. Button按钮组件 常用属性与事件: ShowHint属性Hit属性 Default属性 Cancel属性 Modares属性 Onclick享件:发生下列情况触发该事件。 2. BitBtn按钮组件 位图按钮组件位于组件面板的 Additiona标签页,与Butn组件 所不同的是多了一个位图符号在按钮上,该组件用于创建一个其上 带有位图的按钮,其中大部分属性和事件与 Button一致,这里仅介 绍它所独有的属性。 常用属性与事件: Kind属性Gp属性 NumGlyphs属性 Layout属性 Onclick事件 Inprise Dephi
7.1.2 按钮类组件(1) 在Delphi 7.0中,常用的按钮类组件可分为三种:普通按钮(Button)组 件、位图按钮(BitBtn)组件和加速按钮(Speed Button)组件。下面介绍 它们的用法。 1. Button按钮组件 常用属性与事件: ShowHint属性 Hint属性 Default属性 Cancel属性 ModalResult属性 OnClick事件:发生下列情况触发该事件。 2. BitBtn 按钮组件 位图按钮组件位于组件面板的Additional标签页,与Button组件 所不同的是多了一个位图符号在按钮上,该组件用于创建一个其上 带有位图的按钮,其中大部分属性和事件与Button一致,这里仅介 绍它所独有的属性。 常用属性与事件: Kind属性 Glyph属性 NumGlyphs属性 Layout属性 OnClick事件
7.12按钮类组件(2) 3 SpeedButton加速按钮组件 加速按钮组件位于组件面板的 Additiona标签页,常常被放在 Pane组件上,用于设计工具栏,它和 Bitbtn组件非常相似,也可以 显示图像和文本,但通常只显示图像,它的特殊属性如下。 常用属性与事件: AllowAllUp属性Down属性 Grouplndex属性 Mouselncontro属性 【例7-2】针对上面介绍的内容来编写一个小的程序。目的是熟练按钮的有 关属性和方法,程序本身没有实际意义。 进入 Delphi7.0环境中,设计如图7-3所示窗体。 该窗体上并排添加了三个名为sb1、sb2、Sb3的 IL close SpeedButton按钮、一个名为B1的 Button按钮和 个名为Bb的 BitBtn按钮,分别如下设置它们的属 图7-3按钮类实例 程序 性值 Inprise Dephi
7.1.2 按钮类组件(2) 3. SpeedButton加速按钮组件 加速按钮组件位于组件面板的Additional标签页,常常被放在 Panel组件上,用于设计工具栏,它和Bitbtn组件非常相似,也可以 显示图像和文本,但通常只显示图像,它的特殊属性如下。 常用属性与事件: AllowAllUp属性 Down 属性 GroupIndex属性 MouseIncontrol属性 【例7-2】 针对上面介绍的内容来编写一个小的程序。目的是熟练按钮的有 关属性和方法,程序本身没有实际意义。 进入Delphi 7.0环境中,设计如图7-3所示窗体。 图7-3 按钮类实例 程序 该窗体上并排添加了三个名为sb1、sb2、sb3的 SpeedButton按钮、一个名为B1的Button按钮和一 个名为Bb1的BitBtn按钮,分别如下设置它们的属 性值:
7.12按钮类组件(3) Sb1.GroupIndex: =1; Sb1. Flat: =true Sb1. Hint: =this is a speedbutton Sb1. ShowHint: =true Sb1. AllowAllUp =False Sb2. GroupIndex: =1 Sb3. GroupIndex: =1 B1.caption: =next Bb1 Kind =bkClose 使用 Picture editor分别为sb1~sb3按钮的Gyph属性设置一个对应的位图文 件,这些位图文件分别在deph7.0 Domos\ DoclGraphex目录下,当然,可 以自己选择合适的位图文件 s在B1按钮的 OnClick事件中添加如下代码,注意变量在 implementation之前 应该先给予定义: var i: integer=0 Inprise Dephi
7.1.2 按钮类组件(3) Sb1.GroupIndex:=1; Sb1.Flat:=true; Sb1.Hint:=’this is a speedbutton’; Sb1.ShowHint:=true; Sb1.AllowAllUp:=False; Sb2.GroupIndex:=1; Sb3.GroupIndex:=1; B1.caption:=’next’; Bb1.Kind:=bkClose; 使用Picture Editor分别为sb1~sb3按钮的Glyph属性设置一个对应的位图文 件,这些位图文件分别在delphi 7.0\Domos\Doc\Graphex目录下,当然,可 以自己选择合适的位图文件。 在B1按钮的OnClick事件中添加如下代码,注意i变量在implementation之前 应该先给予定义:var i:integer=0;
712按钮类组件(4) 在B1按钮的 OnClick事件中添加如下代码,注意变量在 Implementation 之前应该先给予定义: var i: integer=0 sb2 down =true procedure TForm1. B1Click(sender :=2: TObject) end begin else if j=2 then if i=0 then begin begin sb3 Down =true sb1. Down =true i:=0 i:=1: end end end else if i=1 then beg ③程序运行过程中,可以通过连续单击nex按钮实现三个 Speed Button的按 下动作,按 Close按钮退出程序。 Inprise Dephi
7.1.2 按钮类组件(4) 在B1按钮的OnClick事件中添加如下代码,注意i变量在implementation 之前应该先给予定义: var i:integer=0; procedure TForm1.B1Click(Sender: TObject); begin if i=0 then begin sb1.Down:=true; i:=1; end else if i=1 then begin 程序运行过程中,可以通过连续单击next按钮实现三个SpeedButton的按 下动作,按Close按钮退出程序。 sb2.down:=true; i:=2; end else if i=2 then begin sb3.Down:=true; i:=0; end end;
72文本类组件的使用 文本类组件是进行界面设置中最常用的组件,本节主要介绍标签组件和 编辑框组件。 7.2.1标签组件 标签组件本身不是窗口,因此已没有窗口句柄,也不会有输入焦点,但 可以把它与标准的组件关联,下面介绍该组件中的一些常用属性。 Alignment,属性、 Autosize厲性、 Focuscoηto/厲性、 Transparent,厲性、 Wordwrap属性、 ShowAcce/chai属性 7.2.2编辑框组件 1.Edit组件 位于组件面板的 Standard标签页,用户可以在其中输入单行文字 或数据,同时可能用于显示信息,下面介绍它的常用属性及主要的事 件和方法 Inprise Dephi
7.2 文本类组件的使用 文本类组件是进行界面设置中最常用的组件,本节主要介绍标签组件和 编辑框组件。 7.2.1 标签组件 标签组件本身不是窗口,因此已没有窗口句柄,也不会有输入焦点,但 可以把它与标准的组件关联,下面介绍该组件中的一些常用属性。 Alignment属性、Autosize 属性、Focuscontrol属性、Transparent属性、 WordWrap属性、ShowAccelChar属性: 7.2.2 编辑框组件 1. Edit组件 位于组件面板的Standard标签页,用户可以在其中输入单行文字 或数据,同时可能用于显示信息,下面介绍它的常用属性及主要的事 件和方法
722编辑框组件(1) Auto select属性、 CarcAse属性、 MaxLeng功属性、 Passwordchar属性、 7ext属性 C/ear方法、 Copy To clipboar方法、Cut7 cLipboard方法 尸 asteFromclipboard方法、 On Change寡件、当编辑框中的内容发生改变 时,将触发这个事件 2.Memo组件 Memo组件位于组件面板 Standard标签页,Memo组件中的 属性和Edt组件存在着许多相似之处。不同的是,Memo组件中 可以显示和编辑多行文本,下面介绍它的常用属性及事件和方法。 Lies属性、 Maxleng属性、ScrO∥Bar属性、 WantRetums属性、 Want Tabs属性、Cea方法、Ada方法、 SelectA∥方法、 Clear Selection方法 Inprise Dephi
7.2.2 编辑框组件(1) AutoSelect 属性、CharCase 属性、MaxLength属性、Passwordchar属性、 Text属性 Clear方法、CopyToClipboard 方法、CutToClipboard 方法 PasteFromClipboard 方法、OnChange 事件、当编辑框中的内容发生改变 时,将触发这个事件。 2. Memo 组件 Memo组件位于组件面板Standard标签页, Memo组件中的 属性和Edit组件存在着许多相似之处。不同的是,Memo组件中 可以显示和编辑多行文本,下面介绍它的常用属性及事件和方法。 Lines属性、Maxlength属性、ScrollBar 属性、WantReturns属性、 WantTabs属性、Clear方法、Add方法、SelectAll 方法、 ClearSelection方法