版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第3章窗体和常用组件3.1.1窗体的创建
选择主菜单的FileNewApplication,即可新建一个应用程序,Delphi将自动建立一个名为Form1的窗体,同时在代码编辑窗口中自动建立一个名为unit1的单元文件。
第3章窗体和常用组件3.1.1窗体的创建新建应用程序
第3章窗体和常用组件3.1.2窗体的属性
1.Name
用来标识工程中的窗体。2.FormStyle3.BorderStyle
第3章窗体和常用组件3.1.2窗体的属性4.BorderIcons5.Position
第3章窗体和常用组件3.1.2窗体的属性6.其他属性
第3章窗体和常用组件3.1.3窗体的事件和方法
事件(Event)是由Delphi预先定义好的、能够被组件识别的特定动作方法(Method)则是组件能够执行的操作,通常方法是 与组件相关联的过程。窗体的常用事件及触发条件窗体的常用方法
窗体被创建时,将按下列顺序触发这四个事件:OnCreate
OnShow
OnActivate
OnPaint。第3章窗体和常用组件3.2.2组件的属性、事件和方法
组件属性
组件属性是组件特性的描述,包括组件的外观特性(如位置尺寸外形、字体、可视性)和非可视化的特性。从面向对象观点看,属性就是组件对象的数据成员。组件属性分:①只读属性②读写属性组件属性的设置:①在ObjectInspector的Properties选项卡中设置组件的属性值②通过程序语句使组件的属性值在程序运行时动态地被改变,如:
edit1.enabled:=True; Label1.Caption:=“计算机系”;第3章窗体和常用组件3.2.2组件的属性、事件和方法
嵌套属性:
即包含子属性的属性组件属性组件常见的基本属性
第3章窗体和常用组件3.2.2组件的属性、事件和方法2.组件事件
对组件所做的某个动作或系统的某些行为(如按下鼠标、双击鼠标、时间间隔到、窗体装入等)称作事件。组件的常用事件及触发条件
第3章窗体和常用组件3.2.2组件的属性、事件和方法3.组件方法
组件方法,实质上就是函数或过程。组件的方法是该类或对象类型实例的函数或过程。每一类组件都有自己的方法,以实现各种功能。
第3章窗体和常用组件3.2.3Delphi7的组件库
Delphi的VisualComponentLibrary的组件层次结构。第3章窗体和常用组件3.3窗体的组件对象
3.3.1向窗体中添加组件
向窗体中添加组件的三种方法:在组件面板的组件栏中单击需要添加的组件,然后在窗体中需要添加该组件处单击鼠标左键,即可将组件添加到窗体中。在组件栏中单击需要添加的组件,然后在窗体中需要添加该组件处拖动鼠标左键,松开鼠标左键后,组件就以刚才拖动的大小出现在窗体中,接着也可以对组件的大小进行调整。在组件栏中双击组件,则被双击的组件会自动添加到当前默认的窗口或容器组件中。
第3章窗体和常用组件3.3.2编辑组件对象
1.选中窗体组件
(1)单击某个组件即可选中该组件,被选中的组件四周将会出8个正 方形黑点。
(2)选中多个组件。①按下Shift键的同时,利用鼠标左键单击各个组件。②在窗体上没有组件的地方按下鼠标左键并拖动,将会出现一个虚框。松开鼠标左键后,该虚框“触及”到的组件就被选中
2.复制窗体中的组件
方法1: (1)选择一个或多个要复制的组件。 (2)通过主菜单命令Edit
Copy复制到剪贴板中。 (3)然后通过菜单命令Edit
Paste将剪贴板中的组件粘贴到窗体中。 方法2: (1)选择一个或多个要复制的组件。 (2)通过快捷键Ctrl+C将选中的组件复制到剪贴板中。 (3)通过快捷键Ctrl+V将剪贴板中的组件粘贴到窗体中。
第3章窗体和常用组件3.3.2编辑组件对象3.删除窗体中的组件
方法1:
(1)选中要删除的组件。 (2)单击Delete键。 方法2: (1)选中要删除的组件。 (2)选择主菜单中的Edit
Cut命令。
4.调整组件的大小和位置
方法1:鼠标操作 选中组件,在组件上按下鼠标左键并拖动到目的位置。 将鼠标移动到某个黑点上,鼠标形状将变成双向箭头,此时可以按 下鼠标左键进行拖动,即可改变组件的大小。
方法2:键盘操作 利用键盘的上(↑)、下(↓)、左(←)、右(→)移动键可以在窗体中选 择组件。选中某个组件后,通过Ctrl+↑、Ctrl+↓、Ctrl+←、 Ctrl+→可以改变组件的位置,通过Shift+↑、Shift+↓、Shift +←、Shift+→可以改变组件的大小。
第3章窗体和常用组件3.3.2编辑组件对象方法3:统一操作 ●先选中几个组件,然后通过主菜单Edit
Size...命令,将打开Size
对话框,在Size对话框中选择宽度和高度的有关设置。
●选择主菜单的Edit
Align...命令,将打开Alignment对话框。在
Alignment对话框中,可对选中的组件进行水平和垂直两个方向的对齐操作。Size对话框Alignment对话框第3章窗体和常用组件3.3.2编辑组件对象5.设置可视组件的Tab顺序
方法:
选择主菜单的Edit
TableOrder...命令,将弹出“EditTabOrder”对话框,在其中的“Controlslistedintaborder”框中选中某组件后, 点击右部的上、下箭头就可改变该组件的TabOrder属性。
EditTabOrder对话框
第3章窗体和常用组件3.4标准类组件
标准类各组件均用其Name属性来标识和引用。标准类组件位于组件面板的Standard选项卡上。标准类组件在组件面板上的位置
第3章窗体和常用组件3.4.1Label组件
Label组件的常用属性
第3章窗体和常用组件3.4.2文本组件
Edit组件
属性:
(1)Text属性:其值是文本编辑框的最新内容。 (2)AutoSelect属性:当Edit组件获得输入焦点时, 是否自动选中所有的文本。 (3)PasswordChar属性:将用户输入的所有字符以同一 个字符显示。如使用密码时用“*”显示。 (4)Autosize属性:用于控制是否随字体的高度来改变 编辑框的高度。
(5)IME属性:IME是输入法编辑器(InputMethodEditor)的 英文缩写,通过设置该属性可自动实现输入法的切换。
Edit组件的其他常用属性
第3章窗体和常用组件3.4.2文本组件
事件:
最常用的事件(也是默认事件)为OnChange,一旦Edit组件中的文本内容发生改变,就会触发OnChange事件。 【例】用户身份验证程序。本程序接收用户输入的用户名和口令,进行验证,根据输入是否正确显示相应的提示信息。 界面设计: denglu窗体及其包含的组件对象属性表denglu窗体
第3章窗体和常用组件3.4.2文本组件welcome窗体
welcome窗体及其包含的组件对象属性表
第3章窗体和常用组件3.4.2文本组件添加代码:
l
在implementation区中加入“unit2”单元,表示需引用该单元 (unit2单元是welcome窗体所对应的单元):
usesunit2; l
定义两个unit级符号常量:
const username='guest'; //定义用户名
password=‘12345’; //定义口令第3章窗体和常用组件3.4.2文本组件
l
双击“确定”按钮,在代码编辑区中输入该按钮的OnClick事件代码:
procedureTForm1.BtnOKClick(Sender:TObject); //判断所输入的用户名和口令是否正确,以决定“welcome”窗体上内容。
begin if(txtusername.text=username)and(txtpassword.text=password)then begin //用户名和口令都正确,执行
welcome.caption:='欢迎使用'; welcome.label1.caption:='欢迎使用教师管理系统'; end else //用户名和口令只要有一项不正确,执行
begin welcome.caption:='拒绝使用'; welcome.label1.caption:='口令错误,请重新输入'; end; welcome.ShowModal;//显示welcome窗体
end;第3章窗体和常用组件3.4.2文本组件l
双击“退出”按钮,在编辑区中输入该按钮的OnClick事件代码:
close;//关闭窗体运行程序:输入用户名与口令输入都正确输入不正确第3章窗体和常用组件3.4.2文本组件2.Memo组件
Memo组件用于显示、编辑多行文本。Memo组件的属性、方 法和事件与Edit组件类似,Memo组件的特殊属性:
(1)Lines:该属性返回Memo组件中文本的行数。
(2)ScrollBars:该属性用来控制滚动条的状况, 取值及含义如下:
l
ssNone:不显示滚动条
l
ssHorizontal:显示水平滚动条
l
ssVertial:显示垂直滚动条
l
ssBoth:同时显示水平和垂直滚动条
(3)WordWrap:当WordWrap设置为True时,若文字输到Memo的右边 界将自动换行,并且当编辑器的边界改变时,文字同样也会自动进行调整。
第3章窗体和常用组件3.4.3Button组件
按钮组件主要属性有: (1)Caption属性:用来设置Button组件上显示的文字。可以通过在 Caption属性值中某字符前插入符号“&”,将这个字符设置为热键。 (2)Cancel属性:Cancel属性用于设置按钮是否执行取消操作。 (3)Default属性:Default属性用于设置默认按钮。 (4)Enabled属性:若将Enabled属性设置为False,则该命令按钮以浅色 显示,当前无效。Enabled属性值为True,则该命令按钮有效。 (5)Visible属性:Visible属性用来控制按钮是否可见。
第3章窗体和常用组件3.4.4CheckBox组件
复选框组件的主要属性有: (1)Alignment属性:该属性用于设置复选按钮上文字的位置, 可取以下值:
l
taRightJustify:文字显示在小方框的右边
l
taLeftJustify:文字显示在小方框的左边 (2)Enabled属性:控制该复选框是否可用。(3)AllowGrayed属性:如果复选按钮为三态的,也就是可以表达 “选中”、“未选中”和“部分选中”(灰色)的概念时,可以将 AllowGrayed属性设 置为True。 (4)State属性:该属性可以用来设置或返回复选框的状态, 可取以下值:
l
cbChecked:表示复选框处于启用状态。
l
cbUnchecked:表示复选框处于未启用状态。
l
cbGrayed:表示复选框处于启用且变灰状态。 (5)Checked属性:该属性可以用来设置或返回复选框的状态,True表 示选中,False表示未选中。如果复选框的State属性为cbGrayed或 cbUnchecked,则Checked属性为False。
第3章窗体和常用组件3.4.5RadioButton组件
RadioButton组件允许用户从一组互相排斥的选项按钮中选择一个选项。选定某个选项按钮,将释 放先前的选择,所以称其为单选按钮。对RadioButton组件,当单选钮被选中时,触发OnClick事件;而对于CheckBox,无论是从选中到未选中状态,还是从未选中状态到选中状态,都将触发OnClick事件。单选按钮的属性与CheckBox基本相同。
第3章窗体和常用组件3.4.6ListBox组件
列表框组件主要属性有:
(1)Items属性:该属性用于设计阶段设置列表框的内容。(2)ItemIndex属性:该属性返回ListBox中被选中项目的索引号,从0 开始,顺次加1。(3)MultiSelect属性:该属性表示是否可多选,为True,就可以一次 选中多个条目。(4)ExtEndedSelect属性:该属性用来设置是否允许使用Shift键和Ctrl 键同时进行多项选择。
也可在运行期间通过代码改变列表框的内容。l
向列表框中增加条目:
ListBox1.Items.Add('增加的新条目');l
删除当前选中的条目: ListBox1.Items.Delete(ListBox1.ItemIndex);l
清除所有条目:ListBox1.Clear;第3章窗体和常用组件3.4.6ListBox组件ListBox组件的其他常用属性
:第3章窗体和常用组件3.4.7ComboBox组件
组合框组件的特有属性:
(1)Style属性
(2)Text属性
设置或返回编辑框上显示出来的文字内容,也可在程序中给该属性 赋值,为该属性赋值的语句如下:
ComboBox1.Text:=ComboBox1.Item[0]; //ComboBox1为组合框名第3章窗体和常用组件3.4.7ComboBox组件ComboBox组件的其他常用属性
第3章窗体和常用组件基本控件的综合例题【例】本程序是一个教师管理系统的录入新数据的界面,完成的功能是在指定组件中输入或选择数据后,按“确定”按钮,显示相应的
SQL语句。
(1)窗体界面
第3章窗体和常用组件基本控件的综合例题(2)组件属性设置
第3章窗体和常用组件基本控件的综合例题(3)编写程序代码
l
双击窗体,在FormCreate代码编辑器中编写如下代码:
procedureTforminput.FormCreate(Sender:TObject);
begin
//为系别组合框添加选项
cmbdepartment.items.add('计算机系'); cmbdepartment.items.add('外语系'); cmbdepartment.items.add('数学系'); cmbdepartment.items.add('法律系'); cmbdepartment.items.add('建筑系'); cmbdepartment.text:=’计算机系’; //设置组合框的初始值
end;
第3章窗体和常用组件基本控件的综合例题l
“取消”按钮对应代码:
//将职工号、姓名和年龄对应的文本框置空
txtzgh.text:=''; txtxm.text:=''; txtage.text:='';l
“确定”按钮对应代码:
//根据输入信息,显示对应的SQL语句
procedureTforminput.BtnokClick(Sender:TObject);
varxb,jg,department,xh,xm:string; age:integer; begin if(txtzgh.text='')or(txtxm.text='')then //判断职工号和姓名是否为空
Memresult.Text:='学号和姓名均不能为空'
第3章窗体和常用组件基本控件的综合例题elsebeginxh:=txtzgh.text;xm:=txtxm.Text;age:=strtoint(txtage.Text);//将txtage.Text转换成整型赋给agedepartment:=cmbdepartment.Items[cmbdepartment.itemindex];jg:=Lstjg.Items[Lstjg.itemindex];ifradiobman.Checked=truethenxb:='男'elsexb:='女';Memresult.Text:='应执行的SQL语句是'+chr(13)+chr(10);Memresult.Text:=Memresult.Text+'insertinto
表名
values('Memresult.Text:=Memresult.Text+xh+','+xm+','+xb+','+jg+',';Memresult.Text:=Memresult.Text+txtage.Text+','+department+')';end; end;第3章窗体和常用组件基本控件的综合例题l
Btnclose按钮的OnClick事件代码:
close;//关闭窗体在文本框中分别输入职工号、姓名、年龄、电话,并选择籍贯、系别和性别后,按下“确定”按钮,按下“取消”按钮则清除职工号、姓名和年龄,按下“退出”按钮,则结束程序运行。
(4)程序运行第3章窗体和常用组件3.4.8ScrollBar组件
滚动条组件的主要属性有:
(1)Kind属性:该属性可以设置滚动条是水平的还是垂直的。
l
sbHorizontal滚动条是水平方向的。
l
sbVertical滚动条是垂直方向的。 (2)Max/Min属性:用来确定滚动条表示数值的范围。 (3)LargeChange:该属性用来设置利用鼠标在滚动条上单击左 键,或者按下PageUp(PgUp)、PageDown(PgDn)键时,滚 动条滚动的距离。 (4)
SmallChange:该属性用来设置当用户在滚动条两端的上下 箭头时,滚动条滚动的距离。 (5)Position属性:该属性用于设置或返回小方块在滚动条中当 前的位置,其取值范围在Max和Min之间。
第3章窗体和常用组件3.4.9GroupBox组件
GroupBox组件为标准的分组框组件。它可以用于组织有相互关联的组件,例如它可包含RadioButton和CheckBox等组件,使这些包容在GroupBox内的组件以整体的面貌出现。GroupBox组件最常用的场合,就是将多个单选钮或多个复选框组合在一起。对于单选按钮,通过组合框组合后,用户只能选择其中一个,而对于该组合框外的其他单选钮的选择与组合框内的选择无关。
第3章窗体和常用组件3.4.10RadioGroup组件
使用RadioGroup组件可以快速生成一组单选按钮,通过其Items属性,可预先设定单选按钮;也可在运行期间对该属性进行操作。该组件的Columns属性用于设置分组框中的列数,默认值是1,各个按钮之间的距离会自动设置成等间距的。
例:
CaseRadinGroup1.ItemIndexOf 0:语句1;
//选择了第1项
1:语句2;
//选择了第2项
2:语句3;
//选择了第3项
… end;动态增加新项:RadinGroup1.Items.Add(“新项名”);第3章窗体和常用组件3.4.11其他标准类组件
1.Panel组件
Panel组件一个可视化及灵活性都比较好的分组框组件,它是比组合框更大的容器,在上面可以放置各种组件或图形,也将其称为窗格。
2.ActionList组件
ActionList组件是一个各种组件所包含的操作列表类。它集中响应用户的各种命令,双击该ActionList组件,将打开动作列表对话框,用户可以对动作列表进行添加、删除和修改等 操作。ActionList组件响应的事件主要有3个,分别是OnChange事件OnExecute事件OnUpdate事件第3章窗体和常用组件Panel组件的例子
【例】投票系统。程序功能是:(1)输入候选人的基本信息。(2)在已输入的候选人投票,并统计各候选人的得票数。设计思想:
定义一记录型数组,将输入的每一个后选人的基本信息存储到数组 的一个元素中。将所有的候选人姓名添加到一列表中以供选择,根 据在列表框中的选择情况,统计选票并每人的得票数。程序中定义 一个全局记录型数组candidates存放候选人信息,再定义一个用于 统计候选人数的变量i。窗体设计:
第3章窗体和常用组件Panel组件的例子窗体各组件的属性
第3章窗体和常用组件Panel组件的例子程序代码:typemember=Recordname:string;sex:string;age:integer;count:integer;end;varcandidates:array[1..10]ofmember;//用来存放候选人信息
i:integer;
TForm1.FormCreate过程中的代码:
procedureTForm1.FormCreate(Sender:TObject);begin i:=0; panel2.Enabled:=false;//在未输入候选人前,panel2内的组件不可操作
end;第3章窗体和常用组件Panel组件的例子“输入”按钮对应代码:procedureTForm1.btnokClick(Sender:TObject);begin i:=i+1; //
每输入一个候选人i加1 withcandidates[i]do //当前输入的信息作为存放候选人信息数组的第i个元素
beginname:=trim(nameedit.text);sex:=trim(sexedit.text);age:=strtoint(ageedit.text);count:=0; //选票数初始化为0 end;nameedit.text:=''; //用于输入信息的各文本框置空
sexedit.text:='';ageedit.text:='';nameedit.SetFocus;end;第3章窗体和常用组件Panel组件的例子“投票”按钮对应代码:procedureTForm1.btnchooseClick(Sender:TObject);vark:integer;begin panel1.Enabled:=false;//panel1上的组件不可操作,即不可再输入信息
panel2.Enabled:=true;//可对panel2内组件操作,即开始投票
labname.Caption:=''; labresult.Caption:=''; fork:=1toido begin labname.Caption:=''+labname.Caption+candidates[k].name+''; hxrlist.Items.add(candidates[k].name); //候选人添加到hxrlist中
end;end;第3章窗体和常用组件Panel组件的例子hxrlistChange过程中的代码:procedureTForm1.hxrlistChange(Sender:TObject);vark:integer;beginfork:=1toido //根据在hxrlist中的选择,被选中者的count(票数加1)iftrim(hxrlist.Text)=candidates[k].namethencandidates[k].count:=candidates[k].count+1; labresult.Caption:=''; fork:=1toido //在labresult上显示当前的选票情况
labresult.Caption:=''+labresult.Caption+''+inttostr (candidates[k].count);end;第3章窗体和常用组件Panel组件的例子运行程序,输入各候选人,所有侯选人的信息存放在candidates数组中;在hxrlist选择候选人,实时显示得票情况。
运行结果
第3章窗体和常用组件3.5附加类组件Delphi7有一组功能强大的附加类控件,利用它们,可以很方便地优化界面设计,增强应用程序的功能,方便程序员进行各种程序设计。
附加类组件在组件面板上的位置
附加类组件第3章窗体和常用组件3.5.1BitBtn组件位图按钮组件的主要属性有:
(1)Glyph属性:选定按钮的图像。Delphi7能够将4个图像同时 指定给Glyph,在程序运行时系统会根据按钮所处的状态显 示其中的一个。具体约定是:
●第一个图像表示按钮处于未被选择的状态; ●第二个图像表示按钮当前不能使用; ●第三个图像表示用户正单击该按钮; ●第四个图像表示按钮被单击且保持按下状态。 (2)Kind属性:设置按钮上图像的种类。 (3)NumGlyphs属性:指明该位图按钮使用图形的个数,取值为 1~4之间的一个整数。第3章窗体和常用组件3.5.1BitBtn组件(4)Layout属性:设置按钮上图像和文字的位置关系。 含义如下:
l
blGlyphLeft:图像显示在按钮的左部
l
blGlyphRight:图像显示在按钮的右部
l
blGlyphTop:图像显示在按钮的上部
l
blGlyPhBottom:图像显示在按钮的下部(5)Spacing属性:Spacing属性用来设置按钮上图像和文字的距 离,它的默认值是4。当它为1时,表示文字显示在图像与按钮边界的中间。
第3章窗体和常用组件3.5.2SpeedButton组件
快捷按钮组件的主要属性有:
(1)Down属性:
设置按钮的状态。若将其设置为True,则表示处于选中状态。
(2)Flat属性:
该属性值设置为True,则按钮在非选中状态下没有边框, 只有在选中状态下才有边框。
(3)GroupIndex属性:
当用户需要将几个快捷按钮合成一组时,可通过该属性来设置。
(4)
AllowAllup属性: 有些菜单同时有几个快捷按钮可供选择,若将AllowAllup属性设置为 True,则表示所有按钮都可以是弹起状态,若设置为False,则表示至 少有一个不能弹起。
(5)Cursor属性:
可通过该属性设置当鼠标指向快捷按钮时鼠标的形状。
第3章窗体和常用组件3.5.3Image组件图片框组件的主要属性有:
(1)Picture属性:通过设置该属性可在设计阶段预先装入一个图形文件,文件类型为.bmp、.jpg、.jpeg、.wmf、.emf和.ico等。在运行期间,则可通过LoadFromFile函数动态地装入位图
(2)Transparent属性:该属性用来设置图像是否透明,为True,则图像是透明的,该属性只适用于BMP格式的文件。
(3)IncrementalDisplay属性:在装入大型压缩图片的时,若将该属性 设置为True则在装入图片的时,将看到图像被逐渐画出来的过程;若设置为False,则只能在整个图像都调出来后才显示出来。
(4)
Stretch属性:该属性值若设置为True,则图像会自动调整大小 以填满Image组件。
第3章窗体和常用组件3.5.4ScrollBox组件
滚动条组件的主要属性有:
(1)AutoScroll属性:若将该属性设置为True,则滚动条会在需要时自动加上,不需要的时候自动隐去。
(2)
HorzScrollBar和VerScroll属性:若AutoScroll属性值设置为False,则必须修改HorzScrollBar或VerScroll属性才能获得滚动条,双击它们前面的“+”号,显示其子属性, 主要子属性有:
l
Position:该属性用来设置滚动条中小方块的位置。
l
Increment:该属性用来设置用户单击滚动条两端箭头 时滚动条滚动的距离,默认值为8。
l
Tracking:若该属性设置为True,则区域中的内容会 随着滚动条的下拉而不断翻滚,若该属性设置为 False,则只能在用户释放鼠标后才滚动。第3章窗体和常用组件Image、ScrollBox、SpeedButton组件和BitBtn组件使用的示例
(1)窗体设置(2)组件属性设置第3章窗体和常用组件Image、ScrollBox、SpeedButton组件和BitBtn组件使用的示例(3)编写程序代码。编写对Picture1组件和Picture2按钮的事件处理代码,程序代码如下:
//当单击Picture2按钮时在图像中装入图像feathertexture.bmp:
procedureTForm1.Picture1Click(Sender:TObject); begin Image1.Picture.loadfromfile('c:\images\butterfly.BMP'); end; //当单击Picture2按钮时,在图像中装入图像CoffeeBean.bmp:
procedureTForm1.Picture1Click(Sender:TObject); begin Image1.Picture.loadfromfile('c:\images\start.bmp');; end;第3章窗体和常用组件Image、ScrollBox、SpeedButton组件和BitBtn组件使用的示例双击Bitquit按钮,在其代码编辑器中输入代码:
close;(4)运行程序。
单击Picture1按钮时,Image1组件显示c:\images\butterfly.BMP文件中的图像,单击Picture2组件时,Image1组件显示c:\images\start.bmp文件中的图像。第3章窗体和常用组件3.5.5Chart组件
Chart组件是用来创建图表的工具,利用它可以方便地创建出各式各样的图表。Chart组件的主要属性有:
(1)MarginBottom,MarginLeft,MarginRight和MarginTop属性: 这4个属性分别用来设置图形与下、左、右和上边框的距离。 (2)View3D属性:若该属性设置为True,则图形显示为立体状的。(3)AllowZoom属性:该属性用来设置在运行时是否可以拖动图表 以改变形状。若设置为True,则表示可以拖动鼠标以改变图表 形状和大小。
第3章窗体和常用组件Chart组件使用的示例【例】利用Chart组件创建一个某年四个季度某企业产量的图表,演示
Chart组件的使用方法。(1)选择File
New
Project命令,新建一个项目。(2)向新建的窗体中加入Chart组件。(3)鼠标右击Chart组件,在弹出的快捷菜单中选择EditChart命令, 打开EditingChart对话框。
EditingChart对话框第3章窗体和常用组件Chart组件使用的示例(4)单击Add按钮,打开TeeChatGallery对话框,在此对话框中选择图表的种类。选中Bar类型,按“OK”按钮返回到EditingChart
对话框。 (5)在窗体中添加两个BitBtn组件,BitBtn1的Caption属性为“图 表”,BitBtn2的Caption属性为“退出”,在BitBtn1的OnClick 事件中添加代码:第3章窗体和常用组件Chart组件使用的示例procedureTForm1.BitBtn1Click(Sender:TObject);begin withSeries1do begin add(1000,'一季度',clRed); add(1200,'二季度',clGreen); add(1100,'三季度',clBlue); add(1300,'四季度',clYellow); end;end;(6)运行程序运行结果
第3章窗体和常用组件
附加类组件列表
第3章窗体和常用组件附加类组件列表第3章窗体和常用组件3.6Win32类组件和System类组件
Win32类组件和System类组件分别位于组件面板的Win32选项卡和System选项卡上
Win32类组件在组件面板上的位置
System类组件在组件面板上的位置
第3章窗体和常用组件3.6.1Win32类组件
PageControl组件
为扩展应用程序的用户界面,增加窗体的信息容量,通常可以采用分页的形式来设计窗体。PageControl组件为分页组件,是一个可以包含多个页面(也称选项卡)的容器组件,其中每个页面都可以包含各种组件。PageControl组件的主要属性有:l
PageCount:该属性用于设置PageControl组件中所包含的页 的数目。l
ActivePage:用于设置或返回PageControl组件中当前用户选 中的页标签。l
ActivePageindex:该属性用于设置或返回PageControl组件中 当前用户选中的页号。页的编号从0开始。l
PageIndex:每一页的索引值。l
PageControl组件最主要的事件是Onchange事件,当用户改变活 动页面时就触发此事件。
第3章窗体和常用组件3.6.1Win32类组件使用PageControl组件的时候应注意:(1)在该组件上单击鼠标右键,将弹出快捷菜单,在该菜单中选择NewPage命令,将会增加一个新的页面。(2)利用鼠标左键单击标签与单击页面位置选中的对象是不同的。如果单击标签,则选中了整个组件,同时设置当前激活页,这时按下Delete
键,会把整个组件删除。如果单击页面位置,则选中了当前激活页的页面,这时按下Delete键,只删除当前选中的页面。(3)在PageControl组件的不同页面中,可以加入不同的组件。(4)在选中整个组件的情况下,改变ActivePage属性,可改变当前的激活页。(5)在选中具体页面的情况下,可以改变PageIndex属性,也就是标签排列的顺序会发生改变。第3章窗体和常用组件PageControl组件使用的示例【例】创建一个查询界面,利用PageControl组件生成两个页面,其中一个页面是按姓名查询的界面,另一个页面是按籍贯和系别查询的界面。操作步骤如下:(1)选择File
New
Project命令,新建一个项目。
(2)在所建窗体中加入PageControl组件(将其Name属性设为
pagequery)。
(3)在pagequery组件上右击鼠标,在弹出的快捷菜单中选择
NewPage命令增加一个页面。将该页面的Caption属性设置为“按姓名查询”。
(4)在“按姓名查询”页面上添加2个Label组件,1个Edit组件和1个
Button组件,并对各个组件的属性进行设置。
(5)用同样的方法再为PageControl组件增加一个页面,将该页面的
Caption属性设置为“按籍贯和系别查询”。
(6)在“按籍贯和系别查询”页面上添加2个Label组件,2个 ComboBox
组件、2个RadioButton组件和2个Button组件, 并对各个组件的属性进行设置。第3章窗体和常用组件PageControl组件使用的示例设计界面按姓名查询“按姓名查询”页面上的组件的主要属性第3章窗体和常用组件PageControl组件使用的示例设计界面按籍贯和系别查询“按籍贯和系别查询”页面上的组件的主要属性
第3章窗体和常用组件PageControl组件使用的示例(7)编写代码。在btnquery1和btnquery2的单击事件代码编辑器中分别书写如下代码:
procedureTForm1.btnquery1Click(Sender:TObject); //输入姓名,显示相应的SQL语句
begin iftxtxm.text=''then//
判断是否输入了姓名
resultstr1.Caption:='必须输入要查询的姓名' else begin resultstr1.Caption:=‘SQL语句为:
'+chr(13)+chr(10)+'select*from'; resultstr1.Caption:=resultstr1.Caption+‘表where
姓名='+txtxm.Text; end; end;第3章窗体和常用组件PageControl组件使用的示例procedureTForm1.btnquery2Click(Sender:TObject);//按选择的籍贯和所在系别,显示相应的SQL语句vartemp:string;beginifrbnand.Checkedthen//
选择RBnand,籍贯和系别两个条件用and连接
temp:='籍贯='+Combojg.Text+'and系别='+Comboxb.Textelse//选择RBnor,籍贯和系别两个条件用or连接
temp:='籍贯='+Combojg.Text+'or系别='+Comboxb.Text;resultstr2.Caption:='对应的SQL语句为:'+chr(13)+chr(10) +'select from
表';resultstr2.Caption:=resultstr2.Caption+'where'+chr(13)+chr(10) +temp;end;在btnquit1和btnquit2的单击事件代码编辑器中均输入代码:close;第3章窗体和常用组件PageControl组件使用的示例(8)运行程序。
按姓名查询,输入要查询的姓名,单击“查询”按钮单击“查询”按钮按籍贯和系别查询,选择籍贯和所在系别后,单击“查询”按钮,第3章窗体和常用组件3.6.1Win32类组件2.TrackBar组件
当用户要快速设置某个范围内的一个整数值时,利用TrackBar组件可以通过滑动轨迹条上的指针来调整该整数值,沿轨迹条上的点标记标明了一定范围的刻度。
TrackBar组件的主要属性:
①Position属性可以在设计或运行时设置或返回TrackBar指 针的位置,轨迹条上的刻度范围由Min和Max属性来确定。
②Orientation属性值可以设置为vertical或horizontal来控制 轨迹条是垂直或水平方向。
第3章窗体和常用组件3.6.1Win32类组件3.ProgressBar组件
ProgressBar组件为进度条组件,可以动态地显示 一个过程 的进度。
ProgressBar具有Max、Min属性和Position属性。第3章窗体和常用组件3.6.1Win32类组件4.DateTimePicker组件
DateTimePicker组件提供了一种选择日期和时间的有效方法。具有Date和Time属性。5.TreeView组件
TreeView组件在一个层次性列表中包含了文字、图形和数据。它类似于在Windows资源管理器左窗格中显示文件和文件夹的方式显示节点的层次结构。TreeView控件的主要属性有:
(1)AutoExpand属性:若该属性为true,则运行时使得选中的项展 开,未选中的项折叠;若该属性为False,则单击选中时并不 展开,必须双击要展开的项。 (2)Items属性:
该属性相当于一个元素类型为TreeNode类型的数 组,存放了TreeView组件的每一项,可以通过下标单独访问 各项。 (3)SelCount属性:
该属性返回当前选中的节点数目。 (4)Selected属性:
通过该属性访问选中的节点,如果没有选中任 何节点,则该属性返回nil值。 (5)ShowButtons属性:
该属性若设置为true,在每一个包含子节 点的父节点前都有一个按钮,用户可以通过单击该按钮展开 或折叠其子节点。
第3章窗体和常用组件3.6.1Win32类组件使用TreeView组件应注意以下要点:(1)树的生成可在设计阶段通过设置Items属性进行,方法是:单击Items属性右面的省略号按钮,在弹出的TreeViewItemsEditor对话框中添加树的项。另外在TreeView组件上单击鼠标右键,通过菜单ItemsEditor...,也可以打开TreeViewItemsEditor对话框。
在TreeViewItemsEditor对话框中通过“NewItem”按钮为
TreeView组件增加新的节点,通过“NewSubItem”按钮为当前节点增加子节点,Text后的文本框用来编辑显示在TreeView组件中的节点文字,也可以通过“Delete”按钮 删除当前节点。第3章窗体和常用组件3.6.1Win32类组件(2)在程序运行期间,可以动态地改变树的内容。可以通过
TreeView组件Items属性的Add、AddChild、Delete函数等实现。(3)通常在树每个条目前有一个小图标,当该条目被选中时,会显示另一个小图标。在Delphi中,这些小图标由ImageList组件
(Win32 组件类的第3个组件)进行统一管理,然后在TreeView
组件的Images属性中选择一个ImageList组件,接着设置每个条目的 ImageIndex属性,就可以选择ImageList组件中相应的图标了。(4)如果将RightClick属性设置为True,则在树的某个条目上单击鼠标 右键,也可以将该条目选中。(5)通常要编写TreeView组件的OnChange事件的处理过程,也就是在树上选择了不同的条目后,执行该事件的处理过程。(6)另外,有时也需要编写TreeView组件的OnMouseDown事件的处理过程。在函数体中,可以利用GetHitTestInfoAt函数来确定鼠标点击的位置,然后根据不同的点击位置做相应的操作。
第3章窗体和常用组件3.6.1Win32类组件Win32选项卡上其他的常用组件
第3章窗体和常用组件有关Win32组件应用【例】有关Win32组件应用。 程序功能:
输入教师的基本信息,在一个memo组件上综合显示。 窗体设计:
第3章窗体和常用组件有关Win32组件应用属性设置: 设置Treeview组件Treeview1的items属性:选中Treeview1,在ObjectInspector窗口中,鼠标单击“Items”后的“…”打开TreeViewItemsEditor对话框,添加节点。有关Win32组件应用TreeViewItemsEditor对话框“教师信息”页面上的组件的主要属性第3章窗体和常用组件有关Win32组件应用程序代码如下://TForm1.FormCreate过程中的代码:procedureTForm1.FormCreate(Sender:TObject);begingledit.text:=inttostr(updown1.position); (*updown1组件的当前值显示在工龄文本框中*)xinximem.Text:=''; (*清空显示综合信息的Memo1*)end;//双击UpDown1,在其单击事件代码编辑器中,编写如下代码:procedureTForm1.UpDown1Click(Sender:TObject;Button:TUDBtnType);begingledit.text:=inttostr(UpDown1.position); (*UpDown1.position返回UpDown1组件的当前值*)end;第3章窗体和常用组件有关Win32组件应用//单击“信息显示”执行的程序代码:procedureTForm1.btnshowClick(Sender:TObject);varname,sex,gl,birth,department:string;beginname:=trim(nameedit.text);ifradioman.Checked=truethensex:='男'elsesex:='女';birth:=datetostr(birthday.date);//birthday.date返回当前选则的日期
department:=deptree.selected.parent.Text+deptree.selected.Text; (*deptree.selected.Text返回当前选中节点的内容
deptree.selected.parent.Text返回当前选中节点的上一级节点内容*)xinximem.Text:=name+’‘+sex+’出生于‘+birth+chr(13);xinximem.Text:=xinximem.Text+’在’+department+’工作’;end;第3章窗体和常用组件有关Win32组件应用运行程序:运行结果
第3章窗体和常用组件3.6.2System类组件1.Timer组件
Timer是计时器组件,通常用于在应用程序中处理复发事件。该组件由系统时钟控制,按指定的时间间隔执行操作(即该 组件的Timer事件)。
Timer组件的主要属性有:
l
Enabled属性:该属性用来控制计时器是否挂起。
l
Interval属性:指定计时器组件的Timer事件之间的时间 间隔,单位为毫秒。属性值为0时,计时器不响应Timer事件。
第3章窗体和常用组件运用定时器和图片框设计一个简单的动画【例】运用定时器和图片框设计一个简单的动画。 (1)动画场景: 界面有2个按钮“放大”和“暂停”(btnsize和btnpause)、1个 TrackBar组件(speedBar)、1个图像框(image1)和2个 标签组成。 (2)各对象的属性设置。
第3章窗体和常用组件运用定时器和图片框设计一个简单的动画
(3)编写代码。
procedureTForm1.btnsizeClick(Sender:TObject);//单击“放大”,定时器开始工作
begin timer1.enabled:=true; end;
procedureTForm1.btnpauseClick(Sender:TObject);//单击“放大”,使定时器无效
begin timer1.enabled:=false; end;
procedureTForm1.Timer1Timer(Sender:TObject); //定时器定时放大图像框的宽度和高度
begin image1.Height:=image1.Height+20; image1.Width:=image1.Width+28; end;
procedureTForm1.speedBarChange(Sender:TObject); //轨迹条上滑块位置的变化改变定时器的时间间隔,以改变动画速度
begin timer1.Interval:=1000-speedBar.Position; end;第3章窗体和常用组件运用定时器和图片框设计一个简单的动画
(4)运行程序。 单击“放大”按钮,图像即开始定时放大;单击“暂 停”按钮, 则停止放大;改变TrackBar组件上滑块的位置可以改变放大 的速度。运行结果
第3章窗体和常用组件3.6.2System类组件2.OleContainer组件OLE,就是应用程序之间交换数据和相互操纵的一种方式。在Delphi中,可以通过OleContainer组件将其他类型的对象链接或嵌入到窗体中。创建一个OLE客户程序的流程:
把OleContainer组件放到Form上
设置它的位置和尺寸
双击OleContainer组件
显示“插入对象”对话框
选择OLE对象的类型
单击“确定”按钮,该类型的对象将插入到OLE容器中“插入对象”对话框
第3章窗体和常用组件3.6.2System类组件要创建一个链接的OLE对象,在“插入对象”对话框中若选择“由文件创建”,在“文件”框内键入文件名或单击“浏览”按钮来指定一个文件名,在单击“确定”按钮即可。
由文件创建OLE对象
第3章窗体和常用组件3.7对话框类组件
对话框类组件位于组件面板的Dialogs选项卡中,对话框是Windows应用程序常用的一种交互形式,Delphi7的对话框类组件为应用程序的设计带来极大的方便。对话框类组件在组件面板的位置
第3章窗体和常用组件3.7.1OpenDialog对话框
打开对话框(OpenDialog)组件为应用程序显示“打开”对话框,它是Windows中最常用的对话框之一,经常使用该对话框选择要打开的文件。OpenDialog组件的主要属性有: (1)Filters(过滤器)属性:该属性可确定文件类型和在文件 类型下拉框中的顺序。
FilterEditor对话框
第3章窗体和常用组件3.7.1OpenDialog对话框(2)FilterIndex属性 当为打开对话框设置多个过滤器,该属性可以决定哪个过滤 器是文件类型下拉框中的缺省过滤器。。(3)DefaultText属性 该属性用来设置默认的扩展名。(4)FilesName属性 该属性用于设置当打开对话框时,在“文件名”文本框中出现 的默认文件名。(5)Title属性 该属性用来设置对话框的标题。(6)InitialDir属性 该属性用来设置对话框打开时的默认文件夹。第3章窗体和常用组件(7)Options属性 该属性的3个重要的取值含义如下:
l
OfReadOnly:若该属性为True,则表示启用“只读方式打开” 复选框。
l
OfCreatePrompt:若该属性为True,则表示如果键入的文件 名是不存在的,就要建立一个文件,这时在单击OK按钮
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 防溺水安全活动总结
- 社会实践部的述职报告
- 橱柜销售经理工作总结
- 家乡环境建议书
- 微教育阅读心得7篇
- 蔬菜年终总结6篇
- 市政道路监理会议纪要范文(3篇)
- 销售主管工作汇报模板4篇
- 种草莓教案5篇
- 2024年危险化学品经营单位主要负责人理论试题及答案
- 常见词牌介绍
- 广东省省级政务信息化服务预算编制标准(运维服务分册)
- 工作汇报模板课件
- 汽车维修公务车辆定点维修车辆保养投标方案
- 5.2-质量管理体系要求-“5.2方针”条文理解与实施指导材料(雷泽佳编制-2023)
- 律师无业承诺书(共3篇)
- SWITCH 勇者斗恶龙11S 金手指 版本:v1.0.3 最大金币 最大迷你奖章 32倍经验 最大攻击 所有材料
- 园艺与健康知到章节答案智慧树2023年金陵科技学院
- 知识点解析《方向向量与直线的参数方程》
- 论思维可视化视域下的初中英语以读促写教学 论文
- 重度子痫前期、胎盘早剥急救演练
评论
0/150
提交评论