第四章VCL的使用课件.ppt
《第四章VCL的使用课件.ppt》由会员分享,可在线阅读,更多相关《第四章VCL的使用课件.ppt(111页珍藏版)》请在三一办公上搜索。
1、第四章 运用组件编程,4.1 可视化组件库VCL 4.2 窗体设计 4.3 常用组件 4.4 其他组件4.5 输入与输出,4.1 VCL基础,Delphi提供了丰富的组件(component,也称为构件)。这些组件都是由TComponent类派生而来,封装在可视化组件库(VCL)中。这里所说的可视化是指在窗体设计时所有组件的可视性。组件依据程序运行时是否可见而分为可视组件和非可视组件,可视组件如标签(Label)、编辑框(Edit)、按钮(Button)等;非可视组件,如计时器(Timer)、图像列表(ImageList)等。通常,使用可视组件来设计用户界面,用非可视组件来实现特殊的功能。,一
2、、VCL的层次结构,TObject(所有Delphi类的祖先)TPersistent(持久性对象)TComponent(组件对象)非可视组件 TControl(所有可视组件的祖先) TGraphicControl(图形类对象) TWinControl等 (窗口控件),二、VCL组件的属性、方法和事件 VCL组件的属性 VCL组件的方法 VCL组件的事件,4.2 窗体设计,窗体是程序界面的框架,菜单和组件置于其上。窗体是一种对象,类名是TForm。窗体对象有属性、方法和事件。可以只设计一个窗体的界面,也可以设计多个窗体的界面,甚至可以是多文档窗体。,一、窗体常见的属性、方法及事件,1. 窗体的属
3、性 Delphi中通常用两种方法设置对象(窗体)的属性:(1)界面设计阶段通过Object Inspector对象监视器窗口设置属性。先在对象框中选取对象,然后在Properties选项页上修改属性。(2)在程序代码中用赋值语句设置属性,语法为: 对象名.属性名:=属性值,窗体常见属性,Name:默认值为Form1、Form2、.大小及位置:Top 和 Left:窗体左上角相对于屏幕的垂直和水平坐标值Width 和 Height:窗体的总宽度和总高度Align:窗体相对于屏幕的对齐方式外观:BorderIcon:窗体标题栏中系统菜单和窗口控制按钮BorderStyle:窗体边框的类型,Capt
4、ion:窗体标题栏中显示的标题Color:窗体工作区的颜色Font:窗体中显示文字的字体Visible:窗体是否可见WindowStyle:窗体的显示状态状态控制:Enable:窗体的使用状态FormStyle:窗体的类型,2. 窗体常用方法,(1)Create:动态地创建一个窗体。(2)Show:显示一个窗体。(3)Close:关闭一个显示中的窗体。(4)CloseQuery:判断窗体是否可以关闭,返回一个逻辑值。(5)Release:将窗体对象从内存中彻底删除。(6)ShowModal:显示一个模式窗体。(7)Print:打印窗体。(8)Canvas:绘制图形、输出文本。,程序中需要窗体完
5、成某种行为动作时,要在程序代码中调用窗体的方法,语法为: 窗体名.方法名(参数列表);,3. 窗体常见事件,窗体事件是窗体可以识别的外部动作,事件可以由用户操作触发,也可以由操作系统、其他应用程序、应用程序本身触发,例如程序运行时用户单击一下窗体将触发窗体的OnClick事件。 在程序源代码中添加窗体的事件,可以打开对象监视器窗口的Events选项页。从对象列表中选择窗体对象,然后双击事件名右边的空白区域,添加窗口事件程序代码。,窗体常见事件,(1)OnCreate:窗体创建时触发。该事件中通常可实现程序的初始化工作。(2)OnDestroy:窗体从内存中删除时触发。该事件通常可以加入资源释放
6、的程序代码。(3)OnShow:窗体显示时触发。当窗体的Visible属性为True时窗体被显示。(4)OnHide:窗体隐藏时触发。当窗体的Visible属性为False时,窗体被隐藏。(5)OnClose和OnCloseQuery:当关闭窗体时,先触发OnCloseQuery事件,处理程序当前的状态,然后触发OnClose事件,关闭窗口。,(6)OnClick:单击一下窗体将触发该事件。(7)OnDblClick:单击窗体将触发该事件。(8)OnPanit:窗体重画时将触发该事件。,二、简单窗体设计,例4-1:窗体左上角位于屏幕的坐标是120,80;大小是360280;窗体的标题是“简单窗
7、体”,背景颜色是蓝色。程序运行时在窗体的50,30位置输出文本“您好!”,文本的颜色是黄色,字体是楷体_GB2312,一号。单击窗体后,窗体的颜色变成白色,字的颜色是黑色,字体为宋体,大小为50,并在窗体的100,100位置输出文本“再见!”。,三、多窗体设计,1. 静态创建 静态创建窗体是在界面设计阶段完成的。具体方法如下: 执行【File】【New】【Form】菜单项,添加一个新的窗体,默认名称是Form2。然后在主窗体Form1的Uses单元中加入新窗体的单元名,这样在主窗体的事件中可以调用Form2。,2. 动态创建,动态创建窗体是在程序运行阶段完成的。在程序代码中调用窗体的Creat
8、e方法。静态创建的子窗体在程序刚运行时就全部装人内存当中,如果一个应用程序的子窗体数目很多,将占用过多的内存资源。动态创建的子窗体,在程序刚运行时并没有装入内存中,当使用到该子窗体时才装入内存,使用完后立即将其从内存中释放,以节省内存资源。,(1)执行【File】【New】【Form】菜单项命令一次,添加一个新的窗体,默认名称是Form3在已有的窗体对象名FormN(N=1,2,.)中把N值加1。然后在主窗体Form1的uses单元中加入新窗体的单元名,这样在主窗体的事件中可以调用Form3。(2)执行【Project】【Options】菜单项,打开“Project Options”(工程选项
9、)对话框。对话框的“Auto-create forms(自动创建窗体)”框中列出了在程序运行时加载到内存中的窗体。选择Form3,单击中间向右的箭头按钮,将其移动到“Available forms(可用窗体)”框中。这样程序运行时,Form3窗体不会自动加载到内存。,(3)程序代码中,要使用Form3窗体时,添加如下代码:Form3:=Tform3.Create(self); / 创建子窗体Form3,将Form3加载入内存Form3.Show; / 显示窗体Form3(4)要从内存中释放Form3窗体时,添加如下代码:Form3.Free; / 将Form3从内存中释放掉,例4-2: 创建多
10、窗体应用程序。Form1为主窗体,Form2为静态创建的窗体,Form3为动态创建的窗体。单击Form1窗体显示Form2窗体,双击Form1窗体关闭Form2窗体。单击Form2窗体创建并显示Form3窗体,双击Form2窗体关闭并释放Form3窗体。,四、MDI多文档窗体,一个单文档应用程序只能打开一个文档,而一个多文档(MDI)应用程序可以同时打开不同类型的多个文档。MDI应用程序提供了一种方便的方式,使得用户在同一工作区域内可以对多个文档进行观察和交换数据。MDI窗口部分由一个主窗口(也称为父窗口)和多个子窗口组成,每个文档对应一个子窗口。子窗口位于主窗口的工作区内,激活子窗口后主窗口
11、的菜单自动被当前子窗口的菜单所代替。在主窗口的工作区内可以对子窗口进行层叠、平铺、定位、最大化和最小化、改变大小等各种操作,若最大化子窗口,将占满MDI主窗口的全部工作区。,执行【File】【New】【Other】菜单项,打开New Items(新建项目)对话框。这个对话框提供了多个向导和模板,可以生成多种不同用途的应用程序。选择“Projects”选项页,单击“MDI Application”,然后单击“OK”按钮,生成一个多文档应用程序。 系统自动为应用程序生成了三个窗体:主窗体(MainForm)、子窗体(MDIChild)、对话框(AboutBox)。,五、窗体中组件的操作,1.组件的
12、添加 2.选定组件 3.改变组件的大小 4.对齐组件 5.移动和删除组件 6.组件的复制与粘贴 7.组件的Tab键次序设定,4.3 常用组件,一、Standard页上的常用组件,1. Label标签组件 标签组件用于在窗体上显示文字,通常用它为其他组件加上一些标注和说明文字,以便让使用者了解那些组件的用途。特别是有些组件本身没有Caption属性,添加一个标签组件作为提示文字就很有必要。 可将标签组件的焦点转移给Form上的另一个对象,方法是设置标签组件的FocusControl属性。在值段中,选用与它关联对象的对象名。然后在标签中设置热键,即在Caption属性值段中输入含有“&”的字串,紧
13、接“&”之后的字母称为热键字母,当用户使用“Alt+热键字母”时,将焦点选中它所指向的对象。,标签组件常用属性,Caption:设定标签中显示的文字AutoSize:为True,标签的长度随文字的长度而改变Transparent:为True,是透明标签,会显示背景颜色Alignment:指定文本在标签矩形框内的水平对齐方式,taLeftJustify(左对齐),taCenter(居中), taRightJustify(右对齐),Layout:指定文本在标签矩形框内的垂直对齐方式,tlTop(向左对齐),tlCenter(居中), tlButton(向下对齐)WordWrap:为True,文本到
14、达矩形框右边界时自动折返;为False,文本太长时会截断ShowAccelChar:为True,则会在&字符右边的字符加上底线“ ”,表示此字符为Label组件的热键字母,2. Edit编辑框组件,编辑框组件常用于文本输入输出,不仅可以显示用户的字符串文本,还允许用户输入和编辑文本。在人机交互界面中,使用Edit对象最主要的目的就是接收用户信息,通常用Edit对象输入数据,如输入用户姓名、通信地址等。编辑框组件的常用事件 :OnChange:当编辑框组件中的文本发生改变时触发此事件。OnKeyPress:当编辑框接收到键盘字符时触发。,编辑框组件常用属性,Readonly:决定编辑框内的文本是
15、否可以被编辑。为True时,只能显示文本,不能输入和更改文本BorderStyle:设置编辑框的边框类型:bsSingle,单线边框;bsNone,无边框AutoSelect:当组件获得焦点时,是否自动选中所有的文本AutoSize:指定编辑框的高度是否随文本的高度而改变Enable:为False,编辑框不响应任何事件,PasswordChar:指定一个字符来代替显示用户输入的字符,在用户输入密码时常用MaxLength:编辑框内可输入文字的最大长度。-1表示没有长度限制,默认值为-1SelText:被选中的文本CharCase:设置编辑框文字的大小写状态:ecLowerCase,转为小写;e
16、cNormal,不改变;ecUpperCase,转为大写,编辑框组件的常用方法,3. Memo多行编辑框组件,多行编辑框组件Memo与Edit组件很相像,都是提供给用户在程序中输入数据或显示文字用的对象。与编辑框组件不同的是,多行编辑框组件可以显示和编辑多行文本,而编辑框组件只能显示和编辑一行文本。多行编辑框组件的属性和方法与编辑框组件有很多相同之处,如Text、MaxLength、ReadOnly等属性。,(1)Memo组件的Lines属性,Lines属性设置和显示在多行编辑框组件内的文本。在对象监视器窗口单击Line属性旁边的“.”按钮,打开编辑器窗口,在空白区域可以输入多行文本。区域的上
17、方显示输入文本的行数。 Text与Lines都用来存取数据,Text存放Memo对象中全部的输入数据,而Linesi存放第i+1行的字符串。例如:设置第5行文本值为“Delphi程序设计”程序代码可以写成: Memo1.Lines4 := Delphi程序设计;。,Lines常用的属性和方法,Strings属性:指定组件每一行文本的内容Memo1.Lines.Strings0 :=第一行;等效于Memo1.Lines0 :=第一行;Add方法:在组件的最后添加一行文本Memo1.Lines.Add(最后一行下面加一行文字);Insert方法:在指定行下方插入一行文本Memo1.Lines.In
18、sert(2,第三行处插入一行);Delete方法:删除组件内指定行的文本Memol.Lines.Delete(2); / 删除第三行,SaveToFile:将文本保存到文件Memo1.Lines.SaveToFile(C:tempa.txt);LoadFromFile:读取文件内容到Memo组件中Memo1.Lines.LoadFromFile(C:tempa.txt);Clear:清除组件内的所有文本Memo1.Lines.clear;,(2)Memo组件的其他常用属性,ScrollBar:设置是否显示滚动条。有四个值:ssBoth,显示水平和垂直滚动条;ssHorizontal,显示水平
19、滚动条;ssVertical,显示垂直滚动条;ssNone,不加滚动条。WantReturn:设置在组件内部能否使用回车键,为True表示可以使用回车键。WantTab:设置在组件内按Tab键是否起到移位作用,可取True和False两个值,4. Button基本按钮组件,按钮是人机交互界面最常见的一个组件,通常用于用户选取执行某项命令。Delphi提供的按钮有基本按钮、位图按钮、复选框、单选按钮、加速按钮等。基本按钮Button是最简单的一种按钮。,(1)Button按钮的常用属性,Caption:按钮上显示的文本Default:设定按钮是否为默认按钮。默认按钮在打开窗体或对话框时首先取得焦
20、点,此时按下Enter键,将执行默认按钮的OnClick事件处理代码。虽然可将多个Button对象指定为默认按钮,但只有Tab次序最前的Button对象才是真正的默认按钮Cancel:设定按钮是否为取消按钮,取消按钮的功能与默认按钮相同,但它是针对Esc键设计的。当用户按下Esc键,被设为取消按钮的OnClick事件处理就会被执行,(2)Button按钮的常用事件,Button按钮常用的响应事件有:OnClick、OnDblClick、OnMouseMove、OnMouseUp、OnMouseDown等。OnClick及OnDblClick处理事件是最常用的。 当用户用鼠标在Button对象上
21、单击一下,或是当焦点在Button对象上时按下Enter键,触发OnClick事件处理。因此,可以把单击Button对象后要执行的程序放在这个事件处理中。,例4-3:创建一个应用程序,在窗体上加一个Edit1编辑框组件,在Edit1左边加一个Label1标签组件,在Edit1下方加一Button1基本按钮组件;窗体上再加一个Memo1多行编辑框组件,在Memo1上方加一个Label2标签组件,在Memo1下方加Button2、Button3、Button4、Button5四个基本按钮组件。按下Button1则将Edit1中的文本加入到Memo1的最后一行,按下Button2则删除Memo1的最
22、后一行文本,按下Button3则清除Memo1的所有文本,按下Button4则将Memo1的所有文本存入C:a.txt文件中,按下Button5则将C:a.txt文件中的内容读入Memo1中。应注意将Button1设置成默认按钮,而将Button2设置成取消按钮。,5. Panel面板组件,Panel组件内,起分组作用 。另外,Panel组件提供了优化视觉效果的属性,因此Panel组件也常作为某些组件的背景,使程序界面更协调、优美。面板组件Panel还常用于制作信息栏或状态栏。,面板组件Panel的常用属性,Align:固定Panel的位置:alBotton,固定在父组件下方;alCient,
23、覆盖父组件的全部;alLeft,固定在父组件左方;alNone,位置没有限制;alRight,固定在父组件右方;altop,固定在父组件上方BevelInner:确定Panel内层是凸出还是凹下:bvLowered,内层凹下;bvNone,内层无凹凸;bvRaised,内层凸出BevelOuter:确定Panel外层是凸出还是凹下:bvLowered,外层凹下;bvNone,外层无凹凸;bvRaised,外层凸出,BevelWidth:确定Panel内层或外层边界线的粗细,数值越大界线越粗BorderStyle:确定Panel是否有外框。BorderWidth:确定Panel外层部分的宽度,数
24、值越大外层越宽例4-4:利用Panel的属性变化,使Panel产生不同的效果。,6. CheckBox复选框组件,复选框有一小方框,旁边带有文本说明,一般具有选中和未选中两种状态,鼠标单击复选框可以在这两种状态之间切换。选中复选框时,小方框内有标记。 复选框组件通常由多个复选框组件形成一组,在这一组中用户可同时选中多个组件,选项彼此之间是不具有“互斥性”的,不会影响其他选项的行为,适用于要进行多项选择的情况。组件可以识别OnClick事件。,复选框组件的常用属性,State:指定三种状态:cbChecked,选中;cbUnChecked,未选中;cbGrayed,不确定Checked:为Tru
25、e,则选中,小方框内有标记;为False则未选中Caption:设置复选框旁边的说明文字,7. 单选按钮组件,单选按钮是旁边带有文本说明的小圆圈,具有选中和未选中两种状态。组件的Checked属性值为True时,组件处于选中状态,小圆圈的内部有黑色的小点;为False时,组件处于未选中状态,小圆圈是空心的。 在一组单选按钮中,只允许一个单选按钮处于选中状态,也就是说,在同一群组中的选项彼此之间是具有“互斥性”。单选按钮适用于在多个选项中选择一项的情况。,单选按钮组的实现通常用三种方法:,利用GroupBox分组组件+ RadioButton单选按钮组件利用Panel面板组件+ RadioBut
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第四 VCL 使用 课件
链接地址:https://www.31ppt.com/p-1833484.html