精品PPT课件-第8章面向对象程序设计控.ppt_第1页
精品PPT课件-第8章面向对象程序设计控.ppt_第2页
精品PPT课件-第8章面向对象程序设计控.ppt_第3页
精品PPT课件-第8章面向对象程序设计控.ppt_第4页
精品PPT课件-第8章面向对象程序设计控.ppt_第5页
已阅读5页,还剩102页未读 继续免费阅读

下载本文档

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

文档简介

本 章 内 容,8.3 表单控件设计 8.3.1 标签 8.3.2 图像、线条、形状 8.3.3 文本框 8.3.4 编辑框 8.3.5 列表框与组合框 8.3.6 命令按钮 8.3.7 命令按钮组,第八章面向对象程序设计,8.3.8 复选框 8.3.9 选项按钮组 8.3.10 微调控件 8.3.11 计时器 8.3.12 容器 8.3.13 表格 8.3.14 页框 8.3.15 表单集,8.3 表单控件设计,1控件分类 VFP“表单控件”工具栏上有21个基类控件,按功能可分成以下5类: (1)输出类:标签、图像、线条、形状。 (2)输入类:文本框、编辑框、微调控件、列表框、组合框。 (3)控制类:命令按钮、命令按钮组、复选框、选项按钮组、计时器。 (4)容器类:表格、页框、Contain容器、表单集。 (5)连接类:ActiveX控件、ActiveX挷定控件、超级链接控件。 2各类控件的缺省名称 各类控件的缺省名称见表810。,2各类控件的缺省名称 各类控件的缺省名称见下表。,标签控件(Label)常用于显示说明信息和对象的标题。 1标签常用属性 标签的常用属性见下表:,8.3.1 标签,1图像(Image) (1)图像控件的作用 图像控件用于在其中显示图像文件的图片。 (2)图像常用属性 图象对象常用属性见下表:,8.3.2 图像、线条、形状,2线条(Line) (1)线条控件的作用 线条控件用于在表单上创建直线或斜线。默认创建一条。 (2)线条常用属性 线条对象常用属性见下:,3形状(Shape) (1)形状控件的作用 形状控件用于在表单上创建圆、椭圆、正方形、矩形、圆角正方形和圆角矩形等几何形状。 (2)形状设置 形状对象常用属性见下表:,4应用举例 【例88】设计一个如图841所示的应用程序封面,显示“职工管理系统”和“福建商业高等专科学校研制”,使用图片start.jpg作为封面的背景图案。单击“登录系统”按钮,则打开登录窗口。封面停留半分钟后自动关闭。 (1)设计界面 在表单上创建2个标签Label1与Label2、1个形状控件Shape1、1条水平线Line1、1个计时器Timer1与1个命令按钮Command1。 (2)设置对象属性 在“属性”窗口中,分别设置各对象的属性值如下表:,(3)编写事件代码 1)计时器控件timer1的timer事件代码如下: Thisform.Release &30秒后关闭表单 2)命令按钮Command1的Click事件代码如下: DO FORM Login.scx &调用登录表单 (4)保存表单 以“Start.scx”为名称保存表单。,图841 应用程序封面,(5)运行表单 单击“常用”工具栏中的“运行”按钮,表单运行效果如图841所示。,文本框(Text)又称为输入框,用于输入数据和显示数据,它可接受字符型、数值型、日期型和逻辑型的数据。使用文本框只能输入一段文本。也就是说,按回车键即终止输入。 1文本框常用属性 文本框常用属性见表817。 Format属性取值见表818。 InputMark属性取值见表819。,8.3.3 文本框,表817 文本框对象常用属性,表8817 Format属性取值,表819 InputMask属性取值,2文本框常用方法 SetFocus:文本框获得焦点。 3文本框常用事件 (1)Valid:在失去焦点之前发生。 (2)KeyPress:按下并释放一个键盘键时发生。 (3)LostFocus:按下并释放一个键盘键时发生。 (4)MouseDown:在该对象按下鼠标时发生。 (5)MouseUp:在该对象释放鼠标时发生。 (6)InteractivateChange:文本框的值时发生。,【例89】设计如图842所示的表单,其功能是:从键盘输入职工的职工号,即显示该职工的姓名和基本工资。,(1)设计界面 在表单上创建两个标签Label1和Label2,一个文本框Text1和一个命令按钮Command1。 (2)设置数据环境 1)右击表单,在弹出的快捷菜单中选择“数据环境”命令。 2)在弹出的“添加表或视图”对话框中,选择Zgjk.dbf表,单击“添加”按钮,将其添加到“数据环境设计器”窗口中。 (3)创建字段映像 用鼠标将“数据环境设计器”窗口中Zgjk.dbf表的“姓名”和“基本工资”字段拖放到表单上,从而在表单上产生两个标签控件(lbl姓名,lbl基本工资)和两个文本框控件(txt姓名,txt基本工资)。,(4)设置对象属性,(5)编写事件代码 1)表单Form1的Init事件代码如下: * 将记录指针移出界,使运行时“姓名”与“基本工资”文本框内无内容 Go Bottom Skip,2)命令按钮Command1的Click事件代码如下: If !Empty(Thisform.Text1.Value) &若文本框非空 Go Top Locate For 职工号=Alltrim(Thisform.Text1.Value) If Found() Thisform.Label2.Caption=“提示:记录找到,相关内容显示如下:“ Else Thisform.Label2.Caption=“提示:未找到相关记录!“ Endif Thisform.Refresh &刷新表单 Else Thisform.Label2.Caption=“提示:请在文本框中输入查找内容!“ Endif,图842 查询职工的姓名和基本工资,(6)保存表单 以“查询姓名和工资.scx”为名称保存表单。 (7)执行表单 单击“常用”工具栏中的“运行”按钮,表单运行效果如图842所示。,编辑框(Edit)实际上是一个字处理器,可以输入和编辑字符型数据,常作为备注型字段数据的绑定控件。 编辑框只能输入字符型的数据,且可以输入多段文本。 1编辑框常用属性 编辑框常用属性见下页表820。 2编辑框常用方法和事件 编辑框常用方法和事件与文本框相似。,8.3.4 编辑框,表821 编辑框的常用属性,【例810】创建一个如图843所示的“剪贴板”表单。要求如下: 1)文本框中选定内容后,“复制”命令按钮被激活; 2)按下“复制”命令按钮,实现文本框选定内容复制到剪贴板; 3)按下“粘贴”命令按钮,实现剪贴板内容粘贴到编辑框。 (1)设计界面 新建一个表单,在表单上添加2个标签Label1和Label2,1个文本辑框Text1、1个编辑框Edit1和2个命令按钮Command1和Command2。 (2)设置对象属性 在“属性”窗口中,分别设置各对象的属性值,见表821。,表821 对象属性值的设置,(3)编写事件代码 1)表单Form1的Init事件的代码如下: Thisform.Text1.SetFocus &文本框获得焦点 2)文本框Text1的MouseUp事件的代码如下: LPARAMETERS nButton, nShift, nXCoord, nYCoord * 判断文本框中是否有选定内容,有则激活Command1 If Len(this.SelText)0 &若文本框中有被选定的内容 Thisform.Command1.Enabled=.T. &“复制”命令按钮有效 Endif 3)“复制”命令按钮Command1的Click事件的代码如下: _CLIPTEXT =Thisform.Text1.selText &将选定内容复制到剪贴板 This.Enabled=.F. &“复制”命令按钮失效 Thisform.Command2.Enabled=.T. &“粘贴”命令按钮有效,图843 例810运行的结果,4)“粘贴”命令按钮Command2的Click事件的代码如下: Thisform.Edit1.SelText= _CLIPTEXT &将剪贴板内容粘贴到编辑框 Thisform.Edit1.SetFocus &编辑框获得焦点,(4)以“剪贴板 .SCX”为文件名保存表单。 (5)单击“常用”工具栏中的“运行”按钮,表单运行结果如图843所示。,【例811】创建如图844所示的修改表的简历字段的表单。要求如下: 1)在文本框中输入要修改记录的职工号,若该职工号存在,即显示其姓名和简历,此时“修改简历”按钮有效;若该职工号不存在,即弹出提示框,要求重新输入。 2)单击“修改简历”命令按钮,则光标移入编辑框。 3)按下“确认退出”命令按钮,则关闭表单。 (1)设计界面 新建一个表单,在表单上添加1个标签Label1,1个文本辑框Text1和2个命令按钮Command1和Command2。 (2)创建字段映像 1)打开“数据环境设计器”窗口,添加Zgjk.dbf表。 2)用鼠标将“数据环境设计器”窗口中的“姓名”字段拖放到表单上,生成2个字段映像控件:标签“lbl.姓名”和文本框“txt.姓名”;将“简历”字段拖放到表单上,生成2个字段映像控件:标签“lbl.简历”和编辑框“edt.简历”。,表822 对象属性值的设置,(2)设置对象属性,(3)编写事件代码 1)表单Form1的Init事件的代码如下: Go Bott Skip &将指针移出记录,使运行初始界面无数据 Thisform. edt.简历.Enabled= .F. &简历编辑框失效 Thisform.Command1.Enabled= .F. &“修改简历”按钮失效 2)文本框Text1的InteractivateChange事件的代码如下: Locate FOR 职工号=ALLTRIM(This.Value) IF FOUND() Thisform. edt.简历.Enabled= .F. &简历编辑框有效 Thisform.Command1.Enabled= .T. &“修改简历”按钮有效 ELSE MESSAGEBOX(“输入的职工号不存在,请重新输入!“) This.Value=“ &清空输入职工号文本框 This.SetFocus &输入职工号文本框获得焦点 ENDIF Thisform.Refresh &刷新表单,图844 “修改简历”表单运行的结果,3)“确认退出”命令按钮Command2的Click事件代码如下: ThisForm.Release &释放表单 (5)以“修改简历.SCX”为文件名保存表单。 (6)单击“常用”工具栏中的“运行”按钮 ,表单运行结果如图844所示。,列表框(List)与组合框(Combo) 都是提供选择一个或多个输入项的列表,二者之间又存在如下区别: (1)列表框显示全部选项列表;组合框只显示一条选项,单击右端下拉按钮,才显示全部选项列表。 (2)组合框又分为下拉组合框和下拉列表框,前者允许输入数据,后者与列表框一样仅有选取功能。 1列表框与组合框常用属性 列表框与组合框的常用属性见表823。,8.3.5 列表框与组合框,表823 列表框与组合框的常用属性,2RowSourceType与RowSource属性(见下表),3列表框与组合框常用方法 (1)AddItem:当组合框或列表框的RowSourceType属性值为0时,可使用此方法在列表中添加一条新选项。 (2)RemoveItem:当组合框或列表框的RowSourceType 属性值为0时,可使用此方法删除列表中一条选项。 (3)Clear:清除列表框中所有选项。 4列表框与组合框常用事件 (1)InteractivateChange:列表框或组合框的值发生改变时引发。 (2)Click:单击列表框或组合框时引发。 5列表框和组合框生成器 使用生成器可方便地设置列表框和组合框的属性。,【例812】设计一个如图851所示的表单,用于选拔职工参加演讲比赛。在组合框中显示职工简况表中所有职工的姓名,单击“添加”按钮,将其添加到列表框中;单击“删除”按钮,则移去列表框中被选中的职工姓名;单击“全部清除”按钮,则清除列表框中所有的职工姓名。 (1)设计界面 创建表单,并在表单上添加两个标签Label1和Label2,一个组合框Combo1,一个列表框List1,三个命令按钮Command1、Command2和Command3。,(2)设置对象属性,(3)编写事件代码 1)命令按钮Command1的Click事件的代码如下: If Empty(Thisform.Combo1.Value) &若组合框为空,则什么都不做 Return Endif For i=1 to Thisform.List1.Listcount &历遍列表框的所有选项 If Thisform.Combo1.Value=Thisform.List1.List(i) &若组合框中的选项已存在于列表框,则提示 Messagebox(“已存在该列表项“) Return Endif Endfor Thisform.List1.Additem(Thisform.Combo1.Value) &将组合框内容添加到列表框 Thisform.Combo1.Value=“ &清空组合框 Thisform.Combo1.Setfocus &组合框获得焦点,2)命令按钮Command2的Click事件的代码如下: If Thisform.List1.Listindex0 &若列表框有选中项,则删除 Thisform.List1.Removeitem(Thisform.List1.Listindex) Endif Thisform.List1.Listindex=Thisform.List1.Listcount &将末项设为选中项 3)命令按钮Command3的Click事件的代码如下:,Thisform.List1.Clear &清空列表框 (4)以“选拔职工.SCX”为文件名保存表单。 (5)单击“常用”工具栏中的“运行”按钮,表单运行结果如图851所示。,图851 例L8-13运行的结果,【例813】设计一个如图852所示表单,用于浏览职工销售业绩。在组合框中选定职工号,即在列表框中显示该职工的销售业绩信息,包括:姓名、销售数量、商品编号、商品名称、规格型号和单价。,(1)设计界面 创建表单,并在表单上添加三个标签Label1、Label2和Label3,一个组合框Combo1和一个列表框List1。 (2)设置对象属性( 如下页表所示)。,(3)编写事件代码 组合框Combo1的InteractivateChange事件代码如下: Thisform.List1.Rowsource = ; “Select Zgjk.姓名,Xs.销售数量,Sp.商品编号,Sp.商品名称,Sp.规格型号, ; Sp.单价 From Zgjk,Xs,Sp; Where Sp.商品编号=Xs.商品编号 AND ; Zgjk.职工号=Xs.职工号 AND Zgjk.职工号=This.Value ; Into Cursor temptable “ &从3个表选择符合条件的记录放入临时表, 作为list1的数据源 Thisform.Refresh &刷新表单,(4)以“浏览销售业绩.SCX”为文件名保存表单。 (5)单击“常用”工具栏中的“运行”按钮,表单运行结果如图852所示。,图852 例813运行的结果,命令按钮(Commmand)常用于启动事件,以执行某项操作,如关闭表单、移动记录指针等。 1命令按钮常用属性(见下表),8.3.6 命令按钮,2命令按钮常用方法 (1)Click (2)RightClick,3应用举例 【例814】创建一个如图853所示的表单。若单击“表单背景色”命令按钮,则随机地改变表单背景的颜色;若单击“标签前景色”命令按钮,则随机地改变标题的颜色。 操作步骤如下: (1)设计界面 1)打开“表单设计器”窗口,并创建一个空白表单。 2)在表单上创建1个标签控件Label1与2个命令按钮 Command1和Command2。 (2)设置对象属性 在“属性”窗口中,分别设置各对象的属性值,见表828,表828 对象属性值的设置,(3)编写事件代码 1)命令按钮Command1的Click事件代码如下: a=INT(RAND()*255) &随机函数RAND()产生不大于1的随机数 b=INT(RAND()*255) c=INT(RAND()*255) Thisform.BackColor=RGB(a,b,c),2)命令按钮Command2的Click事件代码如下: a=INT(RAND()*255) b=INT(RAND()*255) c=INT(RAND()*255) Thisform.Label1.ForeColor=RGB(a,b,c) (4)保存表单 以“随机改变颜色.scx”为文件名,保存表单。,表853 随机改变颜色,(5)运行表单 单击“常用”工具栏中的“运行”按钮,表单运行结果如图853所示。,命令按钮组(CommmandGroup)是包含若干个命令按钮的容器。命令按钮组和组内各命令按钮都有各自的属性、方法和事件。 1命令按钮组常用属性(见下表),8.3.7 命令按钮组,2命令按钮组中命令按钮的编辑 要编辑命令按钮组中的命令按钮,必须先激活组容器。激活组容器有如下两种方法: (1)右击命令按钮组,在弹出的快捷菜单中选择“编辑”命令。组容器被激活后,呈现绿色斜线边框。 (2)在“属性”窗口中,选定组容器内的对象,即进入编辑态。 推而广之,容器类的对象,如命令按钮组、选项按钮组、表格、页框等,若要编辑其中的对象,都先激活它们,使其进入编辑状态。 3命令按钮组常用事件 Click:单击命令按钮组中的按钮时引发,4应用举例 【例815】创建简单加减计算器,如图854所示。该计算器的功能如下: 1)单击按钮 ,则清空文本框中的内容; 2)单击正负号、数字和小数点按钮,将在文本框中输入相应的内容; 3)单击按钮 ,将计算的结果显示于文本框内。 操作步骤如下: (1)设计界面 创建表单,并在表单上添加一个文本框Text1和命令按钮组CommandGroup1。,(2)设置对象属性,(3)编写事件代码 命令按钮组CommandGroup1的Click事件的代码如下: If ThisForm.Commandgroup1.Value“” AND ; ThisForm.Commandgroup1.Value“C“ ThisForm.Text1.Value=; ThisForm.Text1.Value+ThisForm.Commandgroup1.Value Endif If ThisForm.Commandgroup1.Value=“ S=ThisForm.Text1.Value ThisForm.Text1.Value=&S &将字符型内存变量S的内容宏替换出来 放入文本框 Endif If ThisForm.Commandgroup1.Value=“C“ ThisForm.Text1.Value=“ &清空文本框 Endif Thisform.Refresh &刷新表单,图854 简单加减计算器,(4)保存表单 以“加减计算器.SCX”为文件名保存表单。 (5)执行表单 单击“常用”工具栏中的“运行”按钮 ,表单运行结果如图854所示。,复选框(CheckBox)由一个方框和标题说明组成,用于标记一个两值状态:为真(.T.)状态,为假(.F.)状态。用户可选择若干个复选框中的一个或多个。 1复选框常用属性(见下表),8.3.8 复选框,2复选框常用事件 (1)Click:单击复选框时引发。 (2)InteractivateChange:复选框值发生改变时引发。 【例816】设计一个表单,用于分别统计男女职工的人数和基本工资总额。若选中复选框,则统计男职工的人数和基本工资总额;否则统计女职工的人数和基本工资总额。 操作步骤如下: (1)设计界面 创建表单,并在表单上添加3个标签Label1、Label2和Label3,一个复选框Check1,两个文本框Text、Text2和一个命令按钮Command1。,(2)设置对象属性 在“属性”窗口中,分别设置各对象的属性值,见表832。,(3)编写事件代码 命令按钮Command1的Click事件代码如下: Dimension X(2) &定义数组 Chx=ThisForm.Check1.Value &复选框的值为0或1 Sex=Iif(chx=0,“女”,“男”) &若chx=0,则Sex=“女“;否则Sex=“男 Select Count(*),SUM(基本工资) From Zgjk Where 性别=Sex Into Array X Thisform.Label2.Caption=Sex+“职工人数“ Thisform.Label3.Caption=Sex+“职工基本工资总额“ Thisform.Text1.value=X(1) Thisform.Text2.value=X(2) Thisform.Refresh &刷新表单 (4)以“统计男女职工人数.SCX”为文件名保存表单。,(5)单击“常用”工具栏中的“运行”按钮,表单运行结果如图855所示。,图855 表单运行的结果,【例817】设计一个如图856所示的表单,用于显示不同字体、字号和字型的示例文字。 操作步骤如下: (1)设计界面 创建表单,并在表单上添加3个标签Label1、Label2和Label3,3个复选框Check1和2个组合框Combo1和Combo2 。 (2)设置对象属性 在“属性”窗口中,分别设置各对象的属性值,见表833。,(3)编写事件代码 1)复选框Check1的Click事件代码如下: IF This.Value=1 Thisform.Label1.FontBold= .T. ELSE Thisform.Label1.FontBold= .F. ENDIF 2)复选框Check2的Click事件代码如下: IF This.Value=1 Thisform.Label1. FontUnderline= .T. ELSE Thisform.Label1. FontUnderline= .F. ENDIF,3)复选框Check3的Click事件代码如下: IF This.Value=1 Thisform.Label1.FontItalic=.T. ELSE Thisform.Label1.FontItalic= .F. ENDIF 4)组合框Combo1的InteractivateChange事件代码如下: Thisform.Label1.FontName=ALLTRIM(This.DisplayValue) 5)组合框Combo2的InteractivateChange事件代码如下: Thisform.Label1.FontSize=VAL(ALLTRIM(This.DisplayValue) Thisform.Label1.Left=; Thisform.Width/2-Thisform.Label1.Width/2 & Label1居中,(4)以“字体示例.SCX”为文件名保存表单。 (5)单击“常用”工具栏中的“运行”按钮 ,表单运行结果如图856所示。,图856 “字体示例”表单运行的结果,选项按钮组(OptionGroup)是包含选项按钮的容器。其特点是按钮组中只能一个选项按钮被选中。 1选项按钮组常用属性 选项按钮组常用属性见下表:,8.3.9 选项按钮组,2选项按钮组常用事件 (1)Click:单击选项按钮时引发。 (2)InteractivateChange:选项按钮组发生改变时引发。,【例818】设计一个如图857所示表单,实现按部门统计职工的人数。,操作步骤如下: (1)设计界面 创建一个表单,并在表单上添加一个选项组、一个文本框和两个标签,如图857所示。 (2)设置对象属性 在“属性”窗口中,分别设置各对象的属性值见下表。,(3)编写事件代码 选项按钮组OptionGroup1的Click事件代码如下: Select Count(*) From Zgjk; Where 部门=This.Value Into Array X &统计部门人数,并将结果放入内存变量x Thisform.Text1.Value=X(1) &将数组的值写入文本框 Thisform.Label1.Caption=This.Value+“部门共有“ &Value的值为“家电“、“服装“或“文具“,图857 表单运行的结果,(4)以“L8-16.SCX”为文件名保存表单。 (5)单击“常用”工具栏中的“运行”按钮,表单运行结果如图857所示。,【例8819】设计一个分类查询表单,其功能是:能够分别按人事、工资和销售查询本单位职工某方面信息 。,操作步骤如下: (1)设计界面 在表单上创建1个标签、选项按钮组、表格和命令按钮,如图858所示 。 (2)设置对象属性 在“属性”窗口中,分别设置各对象的属性值见下表。,(3)编写事件代码 选项按钮组的Click事件代码如下: Do Case Case Thisform.OptionGroup1.Value=1 Thisform.Grid1.RecordSource=; “SELECT * FROM Zgjk INTO CURSOR TMP“ Case Thisform.OptionGroup1.Value=2 Thisform.Grid1.RecordSource=; “SELECT * FROM 职工业绩!View_gz INTO CURSOR TMP“ “SELECT * FROM 职工业绩!View_xs2 INTO CURSOR TMP“ &View_xs2为销售业绩视图 Endcase Thisform.Refresh,2)“退出”命令按钮Command1的Click事件代码如下: Close all Table Thisform.Release (4)保存表单 以“职工信息分类查询.scx”为名称保存表单。 (5)运行表单 表单运行效果如图858所示,图858 职工信息分类查询表单,微调控件(Spinner)用于接受给定范围内的数值输入。它既可以用键盘直接输入,也可以用鼠标单击该控件的上下箭头按钮来增减当前值。微调控件可以与数值型变量和字段绑定 。 1计时器常用属性(见下表),8.3.10 微调控件,2选项按钮组常用事件 (1)InteractivateChange:微调控件值发生改变时引发。 (2)DownClick:单击向下箭头按钮时引发。 (3)UpClick:单击向上箭头按钮时引发。 3应用举例,【例820】设计一个图859所示表单,要求如下: 改变3个微调控件的值,然后单击“更新”按钮,则改变形状控件的颜色和形状;若3个微调控件的值分别为255、0、0,形状控件为红色的正方形;若3个微调控件的值分别为0、0、255,形状控件为蓝色的圆形。,(1)设计界面 创建一个表单,并在表单上添加1个形状控件Shape1、3个微调控件Spinner1、Spinner2和Spinner3,1个命令按钮Command1,如图859所示。,(2)设置对象属性 设置各对象的属性见下表。,(3)编写事件代码 命令按钮Command1的Click事件代码如下: R=Thisform.Spinner1.Value G=Thisform.Spinner2.Value B=Thisform.Spinner3.Value Thisform.Shape1.Curvature=(R+G+B)/3/255*99 Thisform.Shape1.BackColor=RGB(R,G,B) If R=255 and G=0 and B=0 Thisform.Shape1.Curvature=0 &形状控件为正方形 Thisform.Shape1.BackColor=RGB(R,G,B) Endif If R=0 and G=0 and B=255 Thisform.Shape1.Curvature=99 &形状控件为蓝色的圆形 Thisform.Shape1.BackColor=RGB(R,G,B) ENDIF Thisform.refresh,图859 例820运行的结果,(4)以“形色更新.SCX”为文件名保存表单。 (5)单击“常用”工具栏中的“运行”按钮 ,表单运行结果如图859所示。,计时器(Timer)控件像一个闹钟,它以一定的时间间隔重复执行某种操作。当达到规定的时间间隔时,系统自动触发Timer事件。 在表单设计的过程中,计时器控件可见;表单运行时,计时器控件自动隐藏。 1计时器常用属性(见下表),8.3.11 计时器,2计时器常用事件 Timer:达到Interval设置计时间隔即触发。,分析:使用计时器控件Timer,将该控件的Interval属性设置为500,即每0.5秒触发一次计时器控件的Timer事件(显示一次系统时间);将计时器控件的Interval属性设置为0将停止触发Timer事件。 操作步骤如下: (1)设计界面 创建一个表单,并在表单上添加两个标签Label1,Label2;三命令按钮Command1,Command2,Command3和一个计时器控件Timer1。,【例821】设计一个如图860所示的表单,具体要求如下: 1)表单名为Timer,表单标题为“时钟”,表单运行时自动显示系统的当前时间; 2)要求显示时间的标签控件Label1在表单中居中,标签文本对齐方式为居中; 3)单击“暂停”命令按钮(Command1)时,时钟停止; 4)单击“继续”命令按钮(Command2)时,时钟继续显示系统的当前时间; 5)单击“退出”命令按钮(Command3)时,关闭表单。,(2)设置对象属性 在“属性”窗口中,分别设置各对象的属性值见下表。,(3)编写事件代码 1)双击“暂停”按钮,打开代码编辑窗口,输入Click事件代码如下: Thisform.Timer1.Interval=0 2)双击“继续”按钮,打开代码编辑窗口,输入Click事件代码如下: Thisform.Timer1.Interval=500 3)双击“退出”按钮,打开代码编辑窗口,输入Click事件代码如下: Thisform.Release 4)双击计时器控件timer1,打开代码编辑窗口,输入timer事件代码如下: Thisform.Label2.Caption=Time(),图860 “时钟”表单运行的结果,(4)以“时钟.SCX”为文件名保存表单。 (5)单击“常用”工具栏中的“运行”按钮,表单运行结果如图860所示。,1容器的特性 容器(Container)可包含除表单和表单集之外多个不同类型的对象。 要向容器中添加对象,必须先激活容器。具体操作方法是:右击容器,在弹出的快捷菜单中选择“编辑”命令,使容器处于编辑状态,此时添加的对象才会到容器中。如果没有激活容器而添加对象,实际上对象是添加到表单上而不是容器中。推而广之,容器类的对象,若要编辑其中的对象,都先激活它们,使其进入编辑状态。 2容器常用属性 容器对象常用属性见下表:,8.3.12 容器,【例823】设计一个文件名为“水位变化.scx”的表单,运行界面如图863所示,要求如下: 1)新建表单Form1,标题为“水位变化”,运行时在屏幕居中; 2)添加一个容器控件Container1,其height属性值为100,Width属性值为96,背景色为白色,即RGB(255,255,255); 3)添加一个属于容器控件的矩形形状控件Shape1,其height属性值为50,Width属性值为96,背景色为蓝色,即RGB(0,0,255); 4)添加一个标签控件Label1,标题为“水位高度”,大小自适应; 5)添加一个微调控件Spinner1,微调的最大值和最小值均为100和1(含鼠标和键盘输入),初始值为50; 6)编写微调控件的事件代码,实现水位变化。 操作步骤如下: (1)设计界面 创建一个表单,并在表单上添加如图863所示的控件。,(2)设置对象属性,(3)编写事件代码 微调控件Spinner1的Interactivechange事件的代码如下: Thisform.Container1.Shape1.Height=This.Value Thisform.Container1.Shape1.Top=100-This.Value (4)以“水位变化.SCX”为文件名保存表单。 (5)单击“常用”工具栏中的“运行”按钮 ,表单运行结果如图862所示。,图862 “水位变化”表单运行效果,表格(Grid)是一种按行与列显示数据的容器对象,其外观与Browse窗口相似。表格是一种多重容器,一个表格由若干个列对象(Column)组成,每个列对象包含一个列标头对象(Header)和若干个列控件。表格、列、列标头和列控件都有属于自己的属性、事件和方法。 1表格的组成 (1)表格(Grid):容器对象,由若干个列对象组成。 (2)列(Column):也是容器对象,由列标头和列控件组成。 (3)列标头(Header):默认值为数据库表、自由表和视图中的字段名或字段标题。 (4)列控件:默认值为文本框(Text1),允许修改为与该控件字段类型相容的其他控件。例如:逻辑型字段可用复选框,数值型字段可用微调控件。,8.3.13 表格,2表格及其内部所含对象的常用属性,3表格常用事件 (1)Click:单击表格时引发。 (2)InteractivateChange:表格的值发生改变时引发。 4表格的编辑 (1)改变列数 (2)增删表格列 (3)调整表格的行高或列宽 1)通过属性窗口调整行高或列宽 在属性窗口中,设置HeaderHeight的属性值,以调整标头的行高;设置RowHeight的属性值,以调整控件的行高;设置Width的属性值,以调整标头的列宽。 2)手工调整行高或列宽(先编辑态) 5创建表格对象 在设计过程中,一般先在表单上创建一个表格,然后再用“表格生成器”设置属性,从而得到所需的表格。,6应用举例,【例824】设计一个如图865所示的表单,用于查询职工销售业绩。表单上包含一个组合框和一个表格。在组合框中选择一个职工的姓名,即在表格中显示该职工的销售情况(包括职工号、商品编号和销售数量)。,操作步骤如下: (1)设计界面 1)创建一个表单,并在表单上添加两个标签Label1和Label2以及一个组合框Combo1。 2)打开“数据环境”窗口,并添加职工简况表Zgjk.dbf和销售表Xs.dbf。 3)将“数据环境”窗口中的销售表Xs.dbf的标题拖放到表单上,生成表格对象GrdXs。 (2)设置对象属性(见下表),图865 “表格生成器”的“表格项”选项卡,(2)设置对象属性 1)使用“生成器”设置对象的属性 右击组合框,在弹出的快捷菜单中选择“生成器”命令,打开“组合框生成器”对话框“列表项”选项卡,在“数据库和表”的列表框中,选择销售表Zgjk.dbf,将“姓名”和“职工号”字段添加到“选定字段”列表框中,并调整两者的顺序,如图865所示。,单击“确定”按钮,关闭“组合框生成器”。 右击表格,在弹出的快捷菜单中选择“生成器”命令,打开“表格生成器”对话框,选择“关系”选项卡,可以看到两个表已按“职工号”字段建立了一对多联系,Zgjk.dbf为父表,Xs.dbf为子表。如果在数据库中两个表没有建立关联,可以在此选项卡中建立如图866所示联系。,图866 “表格生成器”的“关系”选项卡,2)设置对象属性(见下表),(3)以“查询职工销售业绩 .SCX”为文件名保存表单。 (4)单击“常用”工具栏中的“运行”按钮,表单运行结果如图867所示。,图867 例825运行的结果,页框(PageFrame)是包含页面(Page)的容器,每个页面在页框中均以选项卡的形式出现。页面是类似于表单的容器,可以包含与表单一样的对象。 1页框的创建 (1)在“表单设计器”中,单击“表单控件”工具栏中的“页框”按钮,然后在表单上单击或拖动,即创建一个含默认的2个页面(Page1和Page2)的页框(PageFrame1)。 (2)向页面添加控件 1)右击页框,在弹出的快捷菜单中选择“编辑”命令,使页框处于编辑状态。 2)单击要添加控件的页面的标签,使之成为活动页面。 3)在“表单控件”工具栏中单击所需的控件按钮,然后单击页面,将其添加到活动页面上。 2页框常用属性(见表844),8.3.14 页框,操作步骤如下: (1)设计界面 创建一个表单,并在表单上添加一个页框Pageframe1和一个命令按钮Command1。,【例826】设计一个表单SelPag.scx,运行界面如图870所示。要求具有以下功能: 点击选中“天空”页面时,该页面的颜色变为蓝色RGB(0,0,255); 点击选中“沙漠”页面时,该页面的颜色变为黄色RGB(255,255,0); 点击选中“雪原”页面时,该页面的颜色变为白色RGB(255,255,255),(2)设置对象属性(见下表),(3)编写事件代码 页框Pageframe1的Click事件代码如下: Do Case Case Thisform.Pageframe1.ActivePage=1 Thisform.Pageframe1.Page1.BackColor=RGB(0,0,255) Case Thisform.Pageframe1.ActivePage=2 Thisform.Pageframe1.Page2.BackColor=RGB(255,255,0) Case Thisform.Pageframe1.ActivePage=3 Thisform.Pageframe1.Page3.BackColor=RGB(255,255,255) Endcase “退出”命令按钮Command2的Click事件代码如下: Thisform.Release,图871 “SelPag”表单运行的结果,(4)以“SelPag.scx”为文件名保存表单。 (6)单击“常用”工具栏中的“运行”按钮 ,表单运行结果如图871所示。,表单集(Formset)是包含一个或若干个表单(Form)的容器。 1表单集的特点 (1)可以同时显示或隐藏表单集中的全部表单。 (2)以可视化的方式调整表单的大小和位置。 (3)表单集及其所包含的表单都存放在一个.SCX文件中。 (4)表单集中的表单共享一个数据环境。 (5)运行表单时,它所包含的表单都被加载。 2表单集的基本操作 表单集的创建与删

温馨提示

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

评论

0/150

提交评论