Delphi程序设计第二版周志德.电子教案231611.第3章节可视化编程窗体与组件

上传人:E**** 文档编号:90581887 上传时间:2019-06-13 格式:PPT 页数:98 大小:863KB
返回 下载 相关 举报
Delphi程序设计第二版周志德.电子教案231611.第3章节可视化编程窗体与组件_第1页
第1页 / 共98页
Delphi程序设计第二版周志德.电子教案231611.第3章节可视化编程窗体与组件_第2页
第2页 / 共98页
Delphi程序设计第二版周志德.电子教案231611.第3章节可视化编程窗体与组件_第3页
第3页 / 共98页
Delphi程序设计第二版周志德.电子教案231611.第3章节可视化编程窗体与组件_第4页
第4页 / 共98页
Delphi程序设计第二版周志德.电子教案231611.第3章节可视化编程窗体与组件_第5页
第5页 / 共98页
点击查看更多>>
资源描述

《Delphi程序设计第二版周志德.电子教案231611.第3章节可视化编程窗体与组件》由会员分享,可在线阅读,更多相关《Delphi程序设计第二版周志德.电子教案231611.第3章节可视化编程窗体与组件(98页珍藏版)》请在金锄头文库上搜索。

1、,软件技术专业剖析报告,软件教研室 李 萍 2006年5月, 第3章 可视化编程、窗体与组件,授课教师:周志德,引例:用窗体与组件设计学生档案管理主界面,3.1.1 可视化程序设计的概念 1、可视化程序设计:用窗体与组件设计程序界面,编写事件处理代码,完成事件处理功能的程序设计方法。 可视化程序设计采用面向对象、事件驱动的程序设计方法。 2、事件驱动的程序设计:按工作要求编写各组件的事件驱动程序,当用户触发组件事件时执行相关的事件驱动程序,完成规定任务的程序设计方法称为事件驱动的程序设计。,3.1 可视化程序设计,3、可视化编程的主要任务 (1)设计界面:将组件面板中要用的组件放入窗体; (2

2、)设置属性:设置窗体与组件等对象的属性; (3)编写代码:在窗体与组件的事件处理过程中输入代码。,3.1.1 可视化程序设计的概念,3.1.2 可视化编程的步骤,4、可视化程序设计的步骤 (1)创建一个工程 新建一个工程:File | New | Application 新建工程包含一个缺省的窗体Form1与一个单元文件Unit1。可根据工程的需要添加多个窗体与单元。 添加窗体与单元 File | New | Form 或 Unit 。 (2)添加组件 单击组件板中的组件图标; 在窗体适当位置按下鼠标左键,并拖动鼠标即可画出相应的对象。,3.1.3 可视化编程的步骤,(3)设置属性 在窗体中选

3、择组件对象; 在对象监视器中设置组件的属性,如字体、大小、颜色等。 (4)编写代码 在窗体中选择组件对象; 在对象监视器中选择事件,双击事件进入代码编辑器,在事件处理过程的begin 与end;之间输入程序代码。,(5)窗体、对象监视器与代码编辑器的打开与转换 打开窗体:View | Form (或View工具栏中 “View Form”),从弹出式菜单可选择所需打开的窗体; 打开单元:View | Unit (或View工具栏中 “View Unit”),从弹出式菜单可选择所需打开的单元; 打开对象监视器:View | Object Inspector 打开对象树形列表:View | Obj

4、ect ViewTree 按F11键可在三者之间相互转换; 按View工具栏中的“Unit/Form” (或F12键)可在窗体与代码编辑器之间的转换。,3.1.2 可视化编程的步骤,(6)保存工程 保存工程文件:File | Save All;系统提示先输入各单元文件名,最后输入工程文件名。 注意:工程名与单元名不能相同。 保存单元文件:File |Save ; 输入单元文件名。 第一次保存后,以后可以随时通过SpeedBar中的“SaveAll”和“Savefile”来保存工程文件和库单元文件。,3.1.2 可视化编程的步骤,(7)编译和运行工程 Run | Run 或者 Debug工具条上

5、“Run”或者“F9”,系统将开始编译、连接运行工程文件。若有错误则将错误通过代码编辑器返回。否则,生成.exe的可执行文件,并执行它。 (8)关闭工程和Delphi 关闭工程:File | Close All ; 关闭Delphi:File | Exit。,3.1.3 可视化编程的步骤,3.2 窗体与组件,3.2.1 窗体和组件 1窗体和组件的关系 窗体和组件之间有一种包容关系,这是指窗体是一种容器,组件就像是容器中包容的对象。 例如,在窗体上放一个标签、一个编辑框、一个按钮时,单元文件中有关窗体类的定义如下:,type TForm1 = class(TForm) /定义窗体类型 Label

6、1: TLabel; /定义窗体类的Label成员 Edit1: TEdit; /定义窗体类的Edit成员 Button1: TButton; /定义窗体类的Button成员 private Private declarations /私有过程与函数的说明 public Public declarations /公有过程与函数的说明 end; var Form1: TForm1; /定义一个窗体实例(变量) 说明(1)上述代码是由系统自动完成的。 (2)通常“T”开始的类型均为类类型。,3.2.1 窗体与组件,2组件的属性、方法与事件 (1)属性:是描述组件特性的参数,如名称、长度、宽度、颜色

7、、字体等。属性可通过对象监视器设置。也可通过程序代码进行设置。 (2)方法:是组件的过程或函数。应用程序可通调用组件方法,完成指定动作。 (3)事件:是组件事件驱动程序设计,即当用户在应用程序的窗口界面中,用输入设备向组件发出动作时,触发该组件的事件处理程序,完成事先规定操作。,3.2.1 窗体与组件,3组件库VCL Delphi提供了可视化组件库VCL(Visual Component Library),VCL提供了大量的功能各异的可见和不可见组件。 (1)可见的组件(控件):程序运行仍可见的组件。 在程序运行时用户可以与控件进行交互。 控件在设计阶段与运行阶段的外观是相同的。,3.2.1

8、窗体与组件,(2)不可见组件:是用户无法与其进行交互的组件。 设计阶段表现为小图标,通过该图标可以设置组件的属性、方法等。这些组件主要用于完成各种不同的任务,为应用程序运行时提供后台服务,如菜单组件、定时器组件等(举例)。 4组件分类 在Delphi中组件可按功能分成若干类(如学生档案查询),如表3.1所示。,3.2.1 窗体与组件,表3.1 组件分类表,3.2.2 窗体属性,1窗体位置与大小 (1)Left、Top:窗体左上角坐标 (2)Width、Height:窗体宽与高(单位为像素) (3)ClientWidth、ClientHeight:窗体客户区的宽度和高度。当用鼠标改变窗体大小时,

9、这些参数会直接反映到对象监视器中。 (4)Position:窗体位置在运行时的表现,如表3.3所示。,表3.3 Position属性值及其含义,3.2.2 窗体属性,3.2.2 窗体属性,2窗体的颜色 窗体的背景颜色是由Color属性来控制的。 3窗体的外观与样式 与窗体的外观样式有关的属性有:BorderIcons、BorderStyle、Caption、Ctrl3D属性等。 (1)Caption属性 :指定窗体标题栏中的标题。 (2)BorderIcons属性(集合型):确定窗体标题栏上的图标。可设置下列数值:,表3.4 BorderStyle属性值及其含义,3.2.2 窗体属性,4窗体的

10、状态设定 窗体的状态一般由表3.5中所列属性确定。,3.2.2 窗体属性,5其他重要属性 (1)Name属性:窗体名,用来标识工程中的不同窗体,是最重要的属性。 (2)Font属性:设置窗体中文字的字体、颜色和字号等。 在程序设计的时候,为了保持风格的统一,先设置窗体Font属性,后将窗体中所有组件的ParentFont属性设置为True,则组件字体与窗体一致。 (3)Icon属性:确定标题栏右上角的窗体图标。,3.2.2 窗体属性,事件是一种将发生的动作与代码相联的机制。当用户对窗体进行操作时,会触发相应的事件,执行相应的处理程序。表3.6列出了一些常用事件。 窗体事件程序设计方法: (1)

11、选定窗体 | 单击事件页标签 | 双击事件栏| 代码编辑器输入事件处理程序 (2)在事件栏中用下拉框选择已事件处理程序。 下面就一些窗体常用的事件或特殊事件进行说明。,3.2.3 窗体的事件,表3.6 组件的通用事件,3.2.3 窗体的事件,1OnCreate事件 创建窗体时触发该事件,定义形式: procedure TForm1.FormCreate(Sender: TObject); 通常初始化工作在OnCreate事件中进行,如分配所需的资源等。 2、OnDestroy事件 当释放窗体所占用的空间时,触发OnDestroy事件,定义形式: procedure TForm1.FormDes

12、troy(Sender: TObject); 在窗体的OnDestroy事件中释放分配的资源。,3.2.3 窗体的事件,3OnActivate 事件 当窗体被激活时,触发OnActivate事件; 4. OnDeActivate 事件 当窗体失去焦点时,触发 OnDeActivate 事件。 5OnClose事件 当Form关闭时触发OnClose事件。,3.2.3 窗体的事件,6窗体建立的顺序 当窗体建立时,按下列顺序依次触发窗体事件: (1)OnCreate :说明正在建立窗体 (2)OnShow :说明正在显示窗体 (3)OnActivate: 说明窗体成为了应用程序中的活动窗体 (4)

13、其他事件,3.2.3 窗体的事件,例3.2 “学生档案管理系统”的界面设计窗体设计。 1窗体属性设置 (1)Caption=学生档案查询,Name=Form_xsda , (2)High=600,width=800,Position= poScreenCenter (3)Font=“宋体”、“五号”、“黑色”,3.2.3 窗体的事件,2窗体事件处理程序设计 procedure TForm_Xsda.FormCreate(Sender: TObject); begin Caption:=学生档案查询; Name:=Form_xsda; Height:=600; Width:=800; Posit

14、ion:=poScreenCenter; end;,3.2.3 窗体的事件,procedure TForm_Xscx.FormClose(Sender: TObject; var Action: TCloseAction); begin Action:=caFree; end;,3.2.3 窗体的事件,3.3 容器类组件,常用容器类组件有:面板Panel、组件框GroupBox、状态条StatesBar、工具条ToolBar等。 1.Panel组件 (1)Panel面板:是一个能以多种三维效果显示出来的矩形区域。 (2)作用:为窗体中的“同类”组件进行可视化分组。 (3)Panel位于:Sta

15、ndard页。 使用注意:当用户向Panel中放置组件时,这些组件的容器就是Panel(称为父组件),它们不能移出Panel的客户区域。,2. GroupBox组件(位于Standard页) (1)组合框GroupBox:是一个带有标题的容器组件。 (2)作用:为一组相关联的组件提供分组,放在分组框中的组件就是它的子组件。典型应用就是在GroupBox中添加一组相关的单选钮。 3.Bevel组件(位于Additional页) (1)Bevel组件:实现视觉上的分组效果,美化外观。 (2)作用:Bevel可以产生一个斜凹下去的方框、框架轮廓或线条。 (3)使用Bevel较节约资源,但它不是容器。

16、,3.3 容器类组件,例3.2 “学生档案管理系统”的界面设计容器类组件设计。 (1)Panel组件设计 在窗体中放置三个Panel组件,设置属性如下:,3.3 容器类组件,可以得到三维立体效果的面板。 在此三个容器组件上可放置各类组件。,(2)Bevel设计(直接打开例子进行解释) Panel3中放置一个Bevel,设置它的如下属性: Left=20、Top=85、Height=105、Width=210、shape=bsBox,其他属性不改。 将它作为“所属系部”等一组8个组件的框架。 在Panel3中放置另一个Bevel,设置它的如下属性: Left=20、Top=78、Height=2、Width=762、shape=bsBox,其他属性不改。它将作为一条分隔线出现。 (3)GroupBox组件设计

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号