第四章VCL的使用1_第1页
第四章VCL的使用1_第2页
第四章VCL的使用1_第3页
第四章VCL的使用1_第4页
第四章VCL的使用1_第5页
已阅读5页,还剩106页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第四章 运用组件编程 4.1 可视化组件库可视化组件库VCL 4.2 窗体设计窗体设计 4.3 常用组件常用组件 4.4 其他组件其他组件4.5 输入与输出输入与输出 4.1 VCL基础 DelphiDelphi提供了丰富的组件(提供了丰富的组件(componentcomponent,也,也称为构件)。这些组件都是由称为构件)。这些组件都是由TComponentTComponent类派生而来,封装在可视化组件库(类派生而来,封装在可视化组件库(VCLVCL)中。这里所说的可视化是指在窗体设计时中。这里所说的可视化是指在窗体设计时所有组件的可视性。组件依据程序运行时所有组件的可视性。组件依据程序

2、运行时是否可见而分为是否可见而分为可视组件可视组件和和非可视组件非可视组件,可视组件如标签(可视组件如标签(LabelLabel)、编辑框)、编辑框(EditEdit)、按钮()、按钮(ButtonButton)等;非可视组)等;非可视组件,如计时器(件,如计时器(TimerTimer)、图像列表)、图像列表(ImageListImageList)等。通常,使用可视组件来)等。通常,使用可视组件来设计用户界面,用非可视组件来实现特殊设计用户界面,用非可视组件来实现特殊的功能。的功能。 一、一、VCL的层次结构的层次结构TObject(所有Delphi类的祖先)TPersistent(持久性对象

3、)TComponent(组件对象)非可视组件 TControl(所有可视组件的祖先) TGraphicControl(图形类对象) TWinControl等 (窗口控件) 二、二、VCL组件的属性、方法和事件组件的属性、方法和事件 VCL组件的属性组件的属性 VCL组件的方法组件的方法 VCL组件的事件组件的事件 4.2 窗体设计窗体设计 窗体是程序界面的窗体是程序界面的框架框架,菜单和组件置于,菜单和组件置于其上。窗体是一种对象,类名是其上。窗体是一种对象,类名是TFormTForm。窗。窗体对象有体对象有属性属性、方法方法和和事件事件。可以只设计。可以只设计一个窗体的界面,也可以设计多个窗

4、体的一个窗体的界面,也可以设计多个窗体的界面,甚至可以是多文档窗体。界面,甚至可以是多文档窗体。 一、窗体常见的属性、方法及事件一、窗体常见的属性、方法及事件 1. 1. 窗体的属性窗体的属性 DelphiDelphi中通常用两种方法设置对象(窗体)中通常用两种方法设置对象(窗体)的属性:的属性:(1 1)界面设计阶段通过)界面设计阶段通过Object InspectorObject Inspector对对象监视器窗口设置属性。先在对象框中选象监视器窗口设置属性。先在对象框中选取对象,然后在取对象,然后在PropertiesProperties选项页上修改选项页上修改属性。属性。(2 2)在程

5、序代码中用赋值语句设置属性,语)在程序代码中用赋值语句设置属性,语法为:法为: 对象名对象名. .属性名属性名:=:=属性值属性值 窗体常见属性窗体常见属性NameName:默认值为:默认值为Form1Form1、Form2Form2、.大小及位置大小及位置:Top Top 和和 LeftLeft:窗体左上角相对于屏幕的垂:窗体左上角相对于屏幕的垂直和水平坐标值直和水平坐标值Width Width 和和 HeightHeight:窗体的总宽度和总高度:窗体的总宽度和总高度AlignAlign:窗体相对于屏幕的对齐方式:窗体相对于屏幕的对齐方式外观外观:BorderIconBorderIcon:

6、窗体标题栏中系统菜单和窗:窗体标题栏中系统菜单和窗口控制按钮口控制按钮BorderStyleBorderStyle:窗体边框的类型:窗体边框的类型CaptionCaption:窗体标题栏中显示的标题:窗体标题栏中显示的标题ColorColor:窗体工作区的颜色:窗体工作区的颜色FontFont:窗体中显示文字的字体:窗体中显示文字的字体VisibleVisible:窗体是否可见:窗体是否可见WindowStyleWindowStyle:窗体的显示状态:窗体的显示状态状态控制状态控制:EnableEnable:窗体的使用状态:窗体的使用状态FormStyleFormStyle:窗体的类型:窗体的

7、类型2. 窗体常用方法窗体常用方法(1 1)CreateCreate:动态地创建一个窗体。:动态地创建一个窗体。(2 2)ShowShow:显示一个窗体。:显示一个窗体。(3 3)CloseClose:关闭一个显示中的窗体。:关闭一个显示中的窗体。(4 4)CloseQueryCloseQuery:判断窗体是否可以关闭,返回:判断窗体是否可以关闭,返回一个逻辑值。一个逻辑值。(5 5)ReleaseRelease:将窗体对象从内存中彻底删除。:将窗体对象从内存中彻底删除。(6 6)ShowModalShowModal:显示一个模式窗体。:显示一个模式窗体。(7 7)PrintPrint:打印窗

8、体。:打印窗体。(8 8)CanvasCanvas:绘制图形、输出文本。:绘制图形、输出文本。 程序中需要窗体完成某种行为动作时,要程序中需要窗体完成某种行为动作时,要在程序代码中调用窗体的方法,语法为:在程序代码中调用窗体的方法,语法为: 窗体名窗体名. .方法名方法名(参数列表参数列表);3. 窗体常见事件窗体常见事件 窗体事件是窗体可以识别的外部动作,事窗体事件是窗体可以识别的外部动作,事件可以由用户操作触发,也可以由操作系件可以由用户操作触发,也可以由操作系统、其他应用程序、应用程序本身触发,统、其他应用程序、应用程序本身触发,例如程序运行时用户单击一下窗体将触发例如程序运行时用户单击

9、一下窗体将触发窗体的窗体的OnClickOnClick事件。事件。 在程序源代码中添加窗体的事件,可以打在程序源代码中添加窗体的事件,可以打开对象监视器窗口的开对象监视器窗口的EventsEvents选项页。从对选项页。从对象列表中选择窗体对象,然后双击事件名象列表中选择窗体对象,然后双击事件名右边的空白区域,添加窗口事件程序代码。右边的空白区域,添加窗口事件程序代码。 窗体常见事件窗体常见事件(1 1)OnCreateOnCreate:窗体创建时触发。该事件中通:窗体创建时触发。该事件中通常可实现程序的初始化工作。常可实现程序的初始化工作。(2 2)OnDestroyOnDestroy:窗体

10、从内存中删除时触发。:窗体从内存中删除时触发。该事件通常可以加入资源释放的程序代码。该事件通常可以加入资源释放的程序代码。(3 3)OnShowOnShow:窗体显示时触发。当窗体的:窗体显示时触发。当窗体的VisibleVisible属性为属性为TrueTrue时窗体被显示。时窗体被显示。(4 4)OnHideOnHide:窗体隐藏时触发。当窗体的:窗体隐藏时触发。当窗体的VisibleVisible属性为属性为FalseFalse时,窗体被隐藏。时,窗体被隐藏。(5 5)OnCloseOnClose和和OnCloseQueryOnCloseQuery:当关闭窗体时,:当关闭窗体时,先触发先

11、触发OnCloseQueryOnCloseQuery事件,处理程序当前的事件,处理程序当前的状态,然后触发状态,然后触发OnCloseOnClose事件,关闭窗口。事件,关闭窗口。(6 6)OnClickOnClick:单击一下窗体将触发该事件。:单击一下窗体将触发该事件。(7 7)OnDblClickOnDblClick:单击窗体将触发该事件。:单击窗体将触发该事件。(8 8)OnPanitOnPanit:窗体重画时将触发该事件。:窗体重画时将触发该事件。二、简单窗体设计二、简单窗体设计 例例4-14-1:窗体左上角位于屏幕的坐标是:窗体左上角位于屏幕的坐标是120120,8080;大小是;

12、大小是360280360280;窗体的标题是;窗体的标题是“简简单窗体单窗体”,背景颜色是蓝色。程序运行时,背景颜色是蓝色。程序运行时在窗体的在窗体的5050,3030位置输出文本位置输出文本“您好!您好!”,文本的颜色是黄色,字体是楷体文本的颜色是黄色,字体是楷体_GB2312_GB2312,一号。单击窗体后,窗体的颜色变成白色,一号。单击窗体后,窗体的颜色变成白色,字的颜色是黑色,字体为宋体,大小为字的颜色是黑色,字体为宋体,大小为5050,并在窗体的并在窗体的100100,100100位置输出文本位置输出文本“再再见!见!”。 三、多窗体设计三、多窗体设计1. 1. 静态创建静态创建 静

13、态创建窗体是在界面设计阶段完成的。静态创建窗体是在界面设计阶段完成的。具体方法如下:具体方法如下: 执行执行【FileFile】【NewNew】【FormForm】菜单菜单项,添加一个新的窗体,默认名称是项,添加一个新的窗体,默认名称是Form2Form2。然后在主窗体。然后在主窗体Form1Form1的的UsesUses单元中单元中加入新窗体的单元名,这样在主窗体的事加入新窗体的单元名,这样在主窗体的事件中可以调用件中可以调用Form2Form2。 2. 2. 动态创建动态创建 动态创建窗体是在程序运行阶段完成的。动态创建窗体是在程序运行阶段完成的。在程序代码中调用窗体的在程序代码中调用窗体

14、的CreateCreate方法。静方法。静态创建的子窗体在程序刚运行时就全部装态创建的子窗体在程序刚运行时就全部装人内存当中,如果一个应用程序的子窗体人内存当中,如果一个应用程序的子窗体数目很多,将占用过多的内存资源。动态数目很多,将占用过多的内存资源。动态创建的子窗体,在程序刚运行时并没有装创建的子窗体,在程序刚运行时并没有装入内存中,当使用到该子窗体时才装入内入内存中,当使用到该子窗体时才装入内存,使用完后立即将其从内存中释放,以存,使用完后立即将其从内存中释放,以节省内存资源。节省内存资源。 (1 1)执行【)执行【FileFile】【NewNew】【FormForm】菜单】菜单项命令一

15、次,添加一个新的窗体,默认名称项命令一次,添加一个新的窗体,默认名称是是Form3Form3在已有的窗体对象名在已有的窗体对象名FormNFormN(N=1N=1,2 2,.)中把)中把N N值加值加11。然后在主窗体。然后在主窗体Form1Form1的的usesuses单元中加入新窗体的单元名,这样在单元中加入新窗体的单元名,这样在主窗体的事件中可以调用主窗体的事件中可以调用Form3Form3。(2 2)执行【)执行【ProjectProject】【OptionsOptions】菜单项,】菜单项,打开打开“Project Options”Project Options”(工程选项)对话(工

16、程选项)对话框。对话框的框。对话框的“Auto-create formsAuto-create forms(自动创(自动创建窗体)建窗体)”框中列出了在程序运行时加载到框中列出了在程序运行时加载到内存中的窗体。选择内存中的窗体。选择Form3Form3,单击中间向右的,单击中间向右的箭头按钮,将其移动到箭头按钮,将其移动到“Available formsAvailable forms(可用(可用窗体)窗体)”框中。这样程序运行时,框中。这样程序运行时,Form3Form3窗窗体不会自动加载到内存。体不会自动加载到内存。 (3 3)程序代码中,要)程序代码中,要使用使用Form3Form3窗体时

17、,添窗体时,添加如下代码:加如下代码:Form3:=Tform3.Create(self); Form3:=Tform3.Create(self); / / 创建子窗体创建子窗体Form3Form3,将,将Form3Form3加载入内存加载入内存Form3.Show; / Form3.Show; / 显示窗体显示窗体Form3Form3(4 4)要从内存中)要从内存中释放释放Form3Form3窗体时,添加如窗体时,添加如下代码:下代码:Form3.Free; / Form3.Free; / 将将Form3Form3从内存中释放掉从内存中释放掉 例例4-24-2: 创建多窗体应用程序。创建多窗

18、体应用程序。Form1Form1为主窗体,为主窗体,Form2Form2为静态创建的窗体,为静态创建的窗体,Form3Form3为动态创建的窗体。单击为动态创建的窗体。单击Form1Form1窗体窗体显示显示Form2Form2窗体,双击窗体,双击Form1Form1窗体关闭窗体关闭Form2Form2窗体。单击窗体。单击Form2Form2窗体创建并显示窗体创建并显示Form3Form3窗体,双击窗体,双击Form2Form2窗体关闭并释放窗体关闭并释放Form3Form3窗体。窗体。 四、四、MDI多文档窗体多文档窗体 一个一个单文档单文档应用程序只能打开一个文档,而一应用程序只能打开一个

19、文档,而一个个多文档(多文档(MDIMDI)应用程序可以同时打开不同类型应用程序可以同时打开不同类型的多个文档。的多个文档。MDIMDI应用程序提供了一种方便的方式,应用程序提供了一种方便的方式,使得用户使得用户在同一工作区域内可以对多个文档进行在同一工作区域内可以对多个文档进行观察和交换数据观察和交换数据。MDIMDI窗口部分由一个窗口部分由一个主窗口主窗口(也(也称为父窗口)和多称为父窗口)和多个个子窗口子窗口组成,每个文档对应组成,每个文档对应一个子窗口。子窗口位于主窗口的工作区内,激一个子窗口。子窗口位于主窗口的工作区内,激活子窗口后主窗口的菜单自动被当前子窗口的菜活子窗口后主窗口的菜

20、单自动被当前子窗口的菜单所代替。在主窗口的工作区内可以对子窗口进单所代替。在主窗口的工作区内可以对子窗口进行层叠、平铺、定位、最大化和最小化、改变大行层叠、平铺、定位、最大化和最小化、改变大小等各种操作,若最大化子窗口,将占满小等各种操作,若最大化子窗口,将占满MDIMDI主窗主窗口的全部工作区。口的全部工作区。 执行【执行【FileFile】【NewNew】【OtherOther】菜单】菜单项,打开项,打开New ItemsNew Items(新建项目)对话框。(新建项目)对话框。这个对话框提供了多个向导和模板,可以这个对话框提供了多个向导和模板,可以生成多种不同用途的应用程序。生成多种不同

21、用途的应用程序。选择选择“Projects”Projects”选项页,单击选项页,单击“MDI MDI Application”Application”,然后单击,然后单击“OK”OK”按钮,生按钮,生成一个多文档应用程序。成一个多文档应用程序。 系统自动为应用程序生成了三个窗体:系统自动为应用程序生成了三个窗体:主主窗体窗体(MainFormMainForm)、)、子窗体子窗体(MDIChildMDIChild)、)、对话框对话框(AboutBoxAboutBox)。)。 五、五、窗体中组件的操作窗体中组件的操作 1.组件的添加组件的添加 2.选定组件选定组件 3.改变组件的大小改变组件的大

22、小 4.对齐组件对齐组件 5.移动和删除组件移动和删除组件 6.组件的复制与粘贴组件的复制与粘贴 7.组件的组件的Tab键次序设定键次序设定 4.3 常用组件常用组件一、一、Standard页上的常用组件页上的常用组件 1. 1. LabelLabel标签组件标签组件 标签组件用于在窗体上显示文字,通常用它为其标签组件用于在窗体上显示文字,通常用它为其他组件加上一些标注和说明文字,以便让使用者他组件加上一些标注和说明文字,以便让使用者了解那些组件的用途。特别是有些组件本身没有了解那些组件的用途。特别是有些组件本身没有CaptionCaption属性,添加一个标签组件作为提示文字就属性,添加一个

23、标签组件作为提示文字就很有必要。很有必要。 可将标签组件的焦点转移给可将标签组件的焦点转移给FormForm上的另一个对象,上的另一个对象,方法是设置标签组件的方法是设置标签组件的FocusControlFocusControl属性。在值属性。在值段中,选用与它关联对象的对象名。然后在标签段中,选用与它关联对象的对象名。然后在标签中设置热键,即在中设置热键,即在CaptionCaption属性值段中输入含有属性值段中输入含有“& &”的字串,紧接的字串,紧接“&”&”之后的字母称为之后的字母称为热键字热键字母母,当用户使用,当用户使用“Alt+Alt+热键字母热

24、键字母”时,将焦点选时,将焦点选中它所指向的对象。中它所指向的对象。 标签组件常用属性标签组件常用属性CaptionCaption:设定标签中显示的文字:设定标签中显示的文字AutoSizeAutoSize:为:为TrueTrue,标签的长度随文字的长,标签的长度随文字的长度而改变度而改变TransparentTransparent:为:为TrueTrue,是透明标签,会显,是透明标签,会显示背景颜色示背景颜色AlignmentAlignment:指定文本在标签矩形框内的水:指定文本在标签矩形框内的水平对齐方式,平对齐方式,taLeftJustifytaLeftJustify(左对齐),(左对

25、齐),taCentertaCenter(居中),(居中), taRightJustifytaRightJustify(右(右对齐)对齐)LayoutLayout:指定文本在标签矩形框内的垂直:指定文本在标签矩形框内的垂直对齐方式,对齐方式,tlToptlTop(向左对齐),(向左对齐),tlCentertlCenter(居中),(居中), tlButtontlButton(向下对齐)(向下对齐)WordWrapWordWrap:为:为TrueTrue,文本到达矩形框右边,文本到达矩形框右边界时自动折返;为界时自动折返;为FalseFalse,文本太长时会截,文本太长时会截断断ShowAccel

26、CharShowAccelChar:为:为TrueTrue,则会在,则会在& &字符右字符右边的字符加上底线边的字符加上底线“ ”,表示此字符为,表示此字符为LabelLabel组件的热键字母组件的热键字母2. Edit编辑框组件编辑框组件 编辑框组件编辑框组件常用于文本输入输出常用于文本输入输出,不仅可,不仅可以显示用户的字符串文本,还允许用户输以显示用户的字符串文本,还允许用户输入和编辑文本。在人机交互界面中,使用入和编辑文本。在人机交互界面中,使用EditEdit对象最主要的目的就是接收用户信息,对象最主要的目的就是接收用户信息,通常用通常用EditEdit对象输入数据,

27、如输入用户姓对象输入数据,如输入用户姓名、通信地址等。名、通信地址等。编辑框组件的编辑框组件的常用事件常用事件 : :OnChangeOnChange:当编辑框组件中的文本发生改:当编辑框组件中的文本发生改变时触发此事件。变时触发此事件。OnKeyPressOnKeyPress:当编辑框接收到键盘字符时:当编辑框接收到键盘字符时触发。触发。 编辑框组件编辑框组件常用属性常用属性Readonly:决定编辑框内的文本是否可以:决定编辑框内的文本是否可以被编辑。为被编辑。为True时,只能显示文本,不能时,只能显示文本,不能输入和更改文本输入和更改文本BorderStyle:设置编辑框的边框类型:设

28、置编辑框的边框类型:bsSingle,单线边框;,单线边框;bsNone,无边框,无边框AutoSelect:当组件获得焦点时,是否自:当组件获得焦点时,是否自动选中所有的文本动选中所有的文本AutoSize:指定编辑框的高度是否随文本:指定编辑框的高度是否随文本的高度而改变的高度而改变Enable:为:为False,编辑框不响应任何事件,编辑框不响应任何事件PasswordChar:指定一个字符来代替显:指定一个字符来代替显示用户输入的字符,在用户输入密码时常示用户输入的字符,在用户输入密码时常用用MaxLength:编辑框内可输入文字的最大:编辑框内可输入文字的最大长度。长度。-1表示没有

29、长度限制,默认值为表示没有长度限制,默认值为-1SelText:被选中的文本:被选中的文本CharCase:设置编辑框文字的大小写状态:设置编辑框文字的大小写状态:ecLowerCase,转为小写;,转为小写;ecNormal,不改变;不改变;ecUpperCase,转为大写,转为大写编辑框组件的常用方法编辑框组件的常用方法 方法方法说明说明Clear清除编辑框内的所有内容清除编辑框内的所有内容ClearSelection清除编辑框内被选中的内容清除编辑框内被选中的内容CopyToClipboard将编辑框内选中的文本复制到剪贴板中将编辑框内选中的文本复制到剪贴板中CutClipboard将编

30、辑框内选中的文本剪切到剪贴板中将编辑框内选中的文本剪切到剪贴板中PasteFromClipboard将剪贴板中的内容粘贴到编辑框中将剪贴板中的内容粘贴到编辑框中SelectAll选中编辑框内的所有内容选中编辑框内的所有内容3. Memo多行编辑框组件多行编辑框组件 多行编辑框组件多行编辑框组件MemoMemo与与EditEdit组件很相像,组件很相像,都是提供给用户在程序中输入数据或显示都是提供给用户在程序中输入数据或显示文字用的对象。与编辑框组件不同的是,文字用的对象。与编辑框组件不同的是,多行编辑框组件可以显示和编辑多行文本多行编辑框组件可以显示和编辑多行文本,而编辑框组件只能显示和编辑一

31、行文本。而编辑框组件只能显示和编辑一行文本。多行编辑框组件的属性和方法与编辑框组多行编辑框组件的属性和方法与编辑框组件有很多相同之处,如件有很多相同之处,如TextText、MaxLengthMaxLength、ReadOnlyReadOnly等属性。等属性。 (1)Memo组件的组件的Lines属性属性 Lines Lines属性设置和显示在多行编辑框组件内属性设置和显示在多行编辑框组件内的文本。在对象监视器窗口单击的文本。在对象监视器窗口单击LineLine属性属性旁边的旁边的“.”.”按钮,打开编辑器窗口,在按钮,打开编辑器窗口,在空白区域可以输入多行文本。区域的上方空白区域可以输入多行

32、文本。区域的上方显示输入文本的行数。显示输入文本的行数。 TextText与与LinesLines都用来存取数据,都用来存取数据,TextText存放存放MemoMemo对象中全部的输入数据,而对象中全部的输入数据,而LinesiLinesi存放第存放第i+1i+1行的字符串。例如:设置第行的字符串。例如:设置第5 5行行文本值为文本值为“DelphiDelphi程序设计程序设计”程序代码可以写成:程序代码可以写成: Memo1.Lines4Memo1.Lines4 := Delphi := Delphi程序设计程序设计;。 Lines常用的属性和方法常用的属性和方法 StringsStrin

33、gs属性:指定组件每一行文本的内容属性:指定组件每一行文本的内容Memo1.Lines.Strings0Memo1.Lines.Strings0 := :=第一行第一行;等效于等效于Memo1.Lines0 Memo1.Lines0 :=:=第一行第一行; ;AddAdd方法方法:在组件的最后添加一行文本:在组件的最后添加一行文本Memo1.Lines.AddMemo1.Lines.Add(最后一行下面加一行文字最后一行下面加一行文字););InsertInsert方法方法:在指定行下方插入一行文本:在指定行下方插入一行文本Memo1.Lines.InsertMemo1.Lines.Inser

34、t(2,(2,第三行处插入一行第三行处插入一行););DeleteDelete方法方法:删除组件内指定行的文本:删除组件内指定行的文本Memol.Lines.Delete(2)Memol.Lines.Delete(2); / ; / 删除第三行删除第三行SaveToFileSaveToFile:将文本保存到文件:将文本保存到文件Memo1.Lines.SaveToFileMemo1.Lines.SaveToFile(C:tempa.txt);(C:tempa.txt);LoadFromFileLoadFromFile:读取文件内容到:读取文件内容到MemoMemo组件组件中中Memo1.Lin

35、es.LoadFromFileMemo1.Lines.LoadFromFile(C:tempa.txt);(C:tempa.txt);ClearClear:清除组件内的所有文本:清除组件内的所有文本Memo1.Lines.clear;Memo1.Lines.clear;(2)Memo组件的其他常用属性 ScrollBarScrollBar:设置是否显示滚动条。有四个:设置是否显示滚动条。有四个值:值:ssBothssBoth,显示水平和垂直滚动条;,显示水平和垂直滚动条;ssHorizontalssHorizontal,显示水平滚动条;,显示水平滚动条;ssVerticalssVertical

36、,显示垂直滚动条;,显示垂直滚动条;ssNonessNone,不加滚动条。不加滚动条。WantReturnWantReturn:设置在组件内部能否使用回:设置在组件内部能否使用回车键,为车键,为TrueTrue表示可以使用回车键。表示可以使用回车键。WantTabWantTab:设置在组件内按:设置在组件内按TabTab键是否起到键是否起到移位作用,可取移位作用,可取TrueTrue和和FalseFalse两个值两个值4. Button基本按钮组件 按钮是人机交互界面最常见的一个组件,按钮是人机交互界面最常见的一个组件,通常用于用户选取执行某项命令。通常用于用户选取执行某项命令。DelphiD

37、elphi提供的按钮有基本按钮、位图按钮、复选提供的按钮有基本按钮、位图按钮、复选框、单选按钮、加速按钮等。框、单选按钮、加速按钮等。基本按钮基本按钮ButtonButton是最简单的一种按钮。是最简单的一种按钮。(1 1)ButtonButton按钮的常用属性按钮的常用属性 CaptionCaption:按钮上显示的文本:按钮上显示的文本DefaultDefault:设定按钮是否为默认按钮。默认:设定按钮是否为默认按钮。默认按钮在打开窗体或对话框时首先取得焦点,按钮在打开窗体或对话框时首先取得焦点,此时按下此时按下EnterEnter键,将执行默认按钮的键,将执行默认按钮的OnClickOn

38、Click事件处理代码。虽然可将多个事件处理代码。虽然可将多个ButtonButton对象指定为默认按钮,但只有对象指定为默认按钮,但只有TabTab次次序最前的序最前的ButtonButton对象才是真正的默认按钮对象才是真正的默认按钮CancelCancel:设定按钮是否为取消按钮,取消:设定按钮是否为取消按钮,取消按钮的功能与默认按钮相同,但它是针对按钮的功能与默认按钮相同,但它是针对EscEsc键设计的。当用户按下键设计的。当用户按下EscEsc键,被设为键,被设为取消按钮的取消按钮的OnClickOnClick事件处理就会被执行事件处理就会被执行(2)Button按钮的常用事件 Bu

39、ttonButton按钮常用的响应事件有:按钮常用的响应事件有:OnClickOnClick、OnDblClickOnDblClick、OnMouseMoveOnMouseMove、OnMouseUpOnMouseUp、OnMouseDownOnMouseDown等。等。OnClickOnClick及及OnDblClickOnDblClick处处理事件是最常用的。理事件是最常用的。 当用户用鼠标在当用户用鼠标在ButtonButton对象上对象上单击单击一下,一下,或是当焦点在或是当焦点在ButtonButton对象上时对象上时按下按下EnterEnter键键,触发触发OnClickOnCli

40、ck事件处理。因此,可以把单击事件处理。因此,可以把单击ButtonButton对象后要执行的程序放在这个事件对象后要执行的程序放在这个事件处理中。处理中。 例例4-34-3:创建一个应用程序,在窗体上加一个:创建一个应用程序,在窗体上加一个Edit1Edit1编辑框组件,在编辑框组件,在Edit1Edit1左边加一个左边加一个Label1Label1标标签组件,在签组件,在Edit1Edit1下方加一下方加一Button1Button1基本按钮组件;基本按钮组件;窗体上再加一个窗体上再加一个Memo1Memo1多行编辑框组件,在多行编辑框组件,在Memo1Memo1上方加一个上方加一个Lab

41、el2Label2标签组件,在标签组件,在Memo1Memo1下方加下方加Button2Button2、Button3Button3、Button4Button4、Button5Button5四个基本四个基本按钮组件。按下按钮组件。按下Button1Button1则将则将Edit1Edit1中的文本加入中的文本加入到到Memo1Memo1的最后一行,按下的最后一行,按下Button2Button2则删除则删除Memo1Memo1的的最后一行文本,按下最后一行文本,按下Button3Button3则清除则清除Memo1Memo1的所有的所有文本,按下文本,按下Button4Button4则将则将

42、Memo1Memo1的所有文本存入的所有文本存入C:a.txtC:a.txt文件中,按下文件中,按下Button5Button5则将则将C:a.txtC:a.txt文文件中的内容读入件中的内容读入Memo1Memo1中。应注意将中。应注意将Button1Button1设置设置成默认按钮,而将成默认按钮,而将Button2Button2设置成取消按钮。设置成取消按钮。 5. Panel5. Panel面板组件面板组件 Panel Panel组件内,起分组作用组件内,起分组作用 。另外,另外,PanelPanel组件提供了优化视觉效果的属性,因此组件提供了优化视觉效果的属性,因此PanelPane

43、l组件也常作为某些组件的背景,使程组件也常作为某些组件的背景,使程序界面更协调、优美。面板组件序界面更协调、优美。面板组件PanelPanel还常还常用于制作信息栏或状态栏。用于制作信息栏或状态栏。 面板组件面板组件PanelPanel的常用属性的常用属性 AlignAlign: :固定固定PanelPanel的位置:的位置:alBottonalBotton,固定,固定在父组件下方;在父组件下方;alCientalCient,覆盖父组件的全,覆盖父组件的全部;部;alLeftalLeft,固定在父组件左方;,固定在父组件左方;alNonealNone,位置没有限制;位置没有限制;alRight

44、alRight,固定在父组件右,固定在父组件右方;方;altopaltop,固定在父组件上方,固定在父组件上方BevelInnerBevelInner: :确定确定PanelPanel内层是凸出还是凹内层是凸出还是凹下:下:bvLoweredbvLowered,内层凹下;,内层凹下;bvNonebvNone,内层,内层无凹凸;无凹凸;bvRaisedbvRaised,内层凸出,内层凸出BevelOuterBevelOuter: :确定确定PanelPanel外层是凸出还是凹外层是凸出还是凹下:下:bvLoweredbvLowered,外层凹下;,外层凹下;bvNonebvNone,外层,外层无

45、凹凸;无凹凸;bvRaisedbvRaised,外层凸出,外层凸出BevelWidthBevelWidth: :确定确定PanelPanel内层或外层边界线内层或外层边界线的粗细,数值越大界线越粗的粗细,数值越大界线越粗BorderStyleBorderStyle: :确定确定PanelPanel是否有外框。是否有外框。BorderWidthBorderWidth: :确定确定PanelPanel外层部分的宽度,外层部分的宽度,数值越大外层越宽数值越大外层越宽例例4-44-4:利用:利用PanelPanel的属性变化,使的属性变化,使PanelPanel产生产生不同的效果。不同的效果。 6.

46、CheckBox复选框组件复选框组件 复选框有一小方框,旁边带有文本说明,一复选框有一小方框,旁边带有文本说明,一般具有选中和未选中两种状态,鼠标单击般具有选中和未选中两种状态,鼠标单击复选框可以在这两种状态之间切换。选中复选框可以在这两种状态之间切换。选中复选框时,小方框内有复选框时,小方框内有标记。标记。 复选框组件通常由多个复选框组件形成一复选框组件通常由多个复选框组件形成一组,在这一组中用户可同时选中多个组件,组,在这一组中用户可同时选中多个组件,选项彼此之间是不具有选项彼此之间是不具有“互斥性互斥性”的,不的,不会影响其他选项的行为,适用于要进行多会影响其他选项的行为,适用于要进行多

47、项选择的情况。组件可以识别项选择的情况。组件可以识别OnClickOnClick事件。事件。 复选框组件的常用属性复选框组件的常用属性 StateState: :指定三种状态:指定三种状态:cbCheckedcbChecked,选中;,选中;cbUnCheckedcbUnChecked,未选中;,未选中;cbGrayedcbGrayed,不确定,不确定CheckedChecked: :为为TrueTrue,则选中,小方框内有,则选中,小方框内有标记;为标记;为FalseFalse则未选中则未选中CaptionCaption: :设置复选框旁边的说明文字设置复选框旁边的说明文字7. 单选按钮组件

48、单选按钮组件 单选按钮是旁边带有文本说明的小圆圈,具单选按钮是旁边带有文本说明的小圆圈,具有选中和未选中两种状态。组件的有选中和未选中两种状态。组件的CheckedChecked属性值为属性值为TrueTrue时,组件处于选中状态,小时,组件处于选中状态,小圆圈的内部有黑色的小点;为圆圈的内部有黑色的小点;为FalseFalse时,组时,组件处于未选中状态,小圆圈是空心的。件处于未选中状态,小圆圈是空心的。 在一组单选按钮中,只允许一个单选按钮在一组单选按钮中,只允许一个单选按钮处于选中状态,也就是说,在同一群组中处于选中状态,也就是说,在同一群组中的选项彼此之间是具有的选项彼此之间是具有“互

49、斥性互斥性”。单选。单选按钮适用于在多个选项中选择一项的情况。按钮适用于在多个选项中选择一项的情况。单选按钮组的实现通常用三种方法:单选按钮组的实现通常用三种方法: 利用利用GroupBoxGroupBox分组组件分组组件+ RadioButton+ RadioButton单选按钮组件单选按钮组件利用利用PanelPanel面板组件面板组件+ RadioButton+ RadioButton单选按钮组件单选按钮组件 利用利用RadioGroupRadioGroup单选分组框组件,单选分组框组件, 其常用属性有:其常用属性有: CaptionCaption:设置显示在组件上方的文字:设置显示在组

50、件上方的文字ColumnsColumns:设置组件的列数,最多可有:设置组件的列数,最多可有1616个个ItemIndexItemIndex:设置单选分组框中被选中的单选按钮的索:设置单选分组框中被选中的单选按钮的索引值,从引值,从0 0开始开始ItemItem:设置单选分组框中单选按钮的标题文字,每行:设置单选分组框中单选按钮的标题文字,每行文本代表一个选项。利用提供的方法可以添加文本代表一个选项。利用提供的方法可以添加(AddAdd)、删除()、删除(DeleteDelete)、插入()、插入(InsertInsert)、交换)、交换(ExchangeExchange)选项按钮。)选项按钮

51、。例例4-5:8. ListBox列表框组件列表框组件 列表框中可以显示出所有可能的数据供用列表框中可以显示出所有可能的数据供用户选择,用户可以选择其中的一项或多项,户选择,用户可以选择其中的一项或多项,因此用户输入数据可以不必使用键盘。列因此用户输入数据可以不必使用键盘。列表框组件常用于选项较多的情况。表框组件常用于选项较多的情况。 列表框组件的常用属性列表框组件的常用属性 ItemsItems:列表框内的选项数据。可以在设计:列表框内的选项数据。可以在设计阶段单击属性右边的阶段单击属性右边的“.”.”按钮,在编辑按钮,在编辑窗口输入选项,一行对应一个选项。程序窗口输入选项,一行对应一个选项

52、。程序运行时,可以利用运行时,可以利用ItemsItems对象提供的方法:对象提供的方法:AddAdd添加一个选项,添加一个选项,DeleteDelete删除一个选项,删除一个选项,ClearClear删除所有选项,删除所有选项,InsertInsert插入一个选项,插入一个选项,MoveMove移动选项位置,移动选项位置,ExchangeExchange交换两个选交换两个选项的位置。项的位置。CountCount:列表框内的选项数据的项数:列表框内的选项数据的项数ItemsIndexItemsIndex:选项在:选项在ItemsItems数组中的编号,数组中的编号,从从0 0开始至开始至Co

53、unt-1Count-1ColumnsColumns:列表框的列数:列表框的列数MultiSelectMultiSelect:是否可以选择多项:是否可以选择多项SelCountSelCount:被选中项目的数量:被选中项目的数量SelectedSelected:设置或返回某选项是否被选中:设置或返回某选项是否被选中SortedSorted:决定列表框的选项是否排序:决定列表框的选项是否排序9. ComboBox组合框组件组合框组件 组合框组把组合框组把EditEdit编辑框和编辑框和ListBoxListBox列表框两列表框两者功能合二为一,用户可以直接输入内容,者功能合二为一,用户可以直接输

54、入内容,也可以单击向下的箭头后拉出一个列表框,也可以单击向下的箭头后拉出一个列表框,从中选择某个列表项。从中选择某个列表项。 在组合框中选项数据的新增、删除、移动、在组合框中选项数据的新增、删除、移动、选取等等,也是利用选取等等,也是利用ItemsItems对象的对象的AddAdd、DeleteDelete、ClearClear、InsertInsert、ExchangeExchange、MoveMove等方法完成。等方法完成。 组合框组件的常用属性组合框组件的常用属性 ItemsItems:组合框下拉列表的选项数据。可以在设计:组合框下拉列表的选项数据。可以在设计阶段单击属性右边的阶段单击属

55、性右边的“.”.”按钮,在编辑窗口输按钮,在编辑窗口输入选项,一行对应一个选项。程序运行时,可以入选项,一行对应一个选项。程序运行时,可以利用利用ItemsItems对象提供的方法:对象提供的方法:AddAdd添加一个选项,添加一个选项,DeleteDelete删除一个选项,删除一个选项,ClearClear删除所有选项,删除所有选项,InsertInsert插入一个选项,插入一个选项,MoveMove移动选项位置,移动选项位置,ExchangeExchange交换两个选项的位置交换两个选项的位置CountCount:下拉列表的选项数据的项数:下拉列表的选项数据的项数ItemsIndexIte

56、msIndex:选项在:选项在ItemsItems数组中的编号,从数组中的编号,从0 0开开始至始至Count-1Count-1TextText:确定在组合框中显示的文本:确定在组合框中显示的文本SortedSorted:决定组合框的列表选项是否排序:决定组合框的列表选项是否排序StyleStyle:组合框的风格,有几种可供选择的风格:组合框的风格,有几种可供选择的风格:csDropDowncsDropDown,标准风格,用户可以在组合框中输,标准风格,用户可以在组合框中输入;入;csDropDownListcsDropDownList,只有列表框,没有编辑框;,只有列表框,没有编辑框;csO

57、wnerDrawFixedcsOwnerDrawFixed,有编辑框,但只能显示不能,有编辑框,但只能显示不能输 入 , 也 有 列 表 框 , 每 个 列 表 项 的 高 度 由输 入 , 也 有 列 表 框 , 每 个 列 表 项 的 高 度 由I t e m H e i g h tI t e m H e i g h t 属 性 统 一 指 定 ;属 性 统 一 指 定 ;csOwnerDrawVariablecsOwnerDrawVariable,有编辑框,但只能显示,有编辑框,但只能显示不能输入,也有列表框,每个列表项的高度可以不能输入,也有列表框,每个列表项的高度可以不同,可显示非字

58、符串的数据;不同,可显示非字符串的数据;csSimplecsSimple,只有,只有编辑框,没有列表框编辑框,没有列表框DropDownCountDropDownCount:组合框下拉列表显示选项的最大:组合框下拉列表显示选项的最大行数行数 例例4-64-6:某单位开田径运动会,该单位员:某单位开田径运动会,该单位员工姓名可在工姓名可在ComboBox1ComboBox1的列表框中选取,也的列表框中选取,也可以从键盘输入。所有参赛项目放在可以从键盘输入。所有参赛项目放在ListBox1ListBox1中供选取,某员工将要参赛的项中供选取,某员工将要参赛的项目从目从ListBox1ListBox

59、1中选取至中选取至ListBox2ListBox2,最后将,最后将所有员工参赛的项目放在所有员工参赛的项目放在Memo1Memo1组件中。组件中。 10. ActionList行为列表组件行为列表组件应用程序通常要完成多项指定的任务,应用程序通常要完成多项指定的任务,DelphiDelphi中可以把某项任务指定为一个中可以把某项任务指定为一个“行行为为”。一个应用程序的所有的。一个应用程序的所有的“行为行为”常常常用常用ActionListActionList行为列表组件进行管理。行为列表组件进行管理。设置设置ActionListActionList的的ImagesImages属性,就能为属性

60、,就能为ActionListActionList指定一个图像列表(指定一个图像列表(ImageListImageList)对象。对象。 利用利用“行为行为”列表编辑器列表编辑器可以添加、删除、可以添加、删除、修改修改“行为行为”。每个。每个“行为行为”都是一个对都是一个对象,双击某个象,双击某个“行为行为”可在该可在该“行为行为”的的OnExecuteOnExecute事件中编写相应的执行程序代码。事件中编写相应的执行程序代码。11. MainMenu主菜单组件主菜单组件 菜单可分为两类:菜单可分为两类:主菜单主菜单和和弹出式菜单弹出式菜单。主菜单又称下拉菜单,由主菜单又称下拉菜单,由MainMenuMainMenu组件实组件实现;弹出式菜单由现;弹出式菜单由Po

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论