首页 第7章 使用表单控件

第7章 使用表单控件

举报
开通vip

第7章 使用表单控件null第七章 使用表单控件第七章 使用表单控件7.1 命令按钮 7.2 标签 7.3 文本框与编辑框 7.4 列表框与组合框 7.5 微调按钮 7.6 复选框与选项按钮组 7.7 命令按钮组7.8 表格 7.9 页框与页面 7.10 容器 7.11 计时器 7.12 线条、形状、图像 7.13 ActiveX绑定控件 7.14 表单高级设计第七章 使用表单控件第七章 使用表单控件 控件是面向对象程序设计的基本操作单元。在Visual FoxPro中,控件用在表单中起到获取数据、显示数据、执行...

第7章 使用表单控件
null第七章 使用表单控件第七章 使用表单控件7.1 命令按钮 7.2 标签 7.3 文本框与编辑框 7.4 列表框与组合框 7.5 微调按钮 7.6 复选框与选项按钮组 7.7 命令按钮组7.8 表格 7.9 页框与页面 7.10 容器 7.11 计时器 7.12 线条、形状、图像 7.13 ActiveX绑定控件 7.14 表单高级 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 第七章 使用表单控件第七章 使用表单控件 控件是面向对象程序设计的基本操作单元。在Visual FoxPro中,控件用在表单中起到获取数据、显示数据、执行命令和美化界面的作用,因此也称作表单控件。本章介绍了各种表单控件的常用属性、事件及方法,并以实例形式详细介绍了这些控件在表单设计中的具体应用。7.1 命令按钮7.1 命令按钮命令按钮:主要用于启动某个事件代码以完成指定的功能。如发出控制命令、释放表单等。 命令按钮最常用事件 Click(单击)事件 :当用户单击某一命令按钮或显式调用命令按钮的Click事件时,Click事件被触发,其相应的事件代码被执行,从而实现该命令按钮的功能。 7.1 命令按钮7.1 命令按钮命令按钮的常用属性7.1 命令按钮7.1 命令按钮 命令按钮常用属性使用说明 1)Caption属性指定命令按钮的文字标题。可以在Caption属性值中用“\<字母”将该字母设置为按钮访问键(也称热键) 2)命令按钮的标题可以既有文字又有图像,也可以只有图像,图像文件名由Picture属性指定。7.1 命令按钮7.1 命令按钮 命令按钮常用属性使用说明 3)Default属性值为.T.时,与命令按钮单击操作等价的是Enter键或Ctrl+Enter 4)仅当表单的ShowTips属性值为.T.时,命令按钮的ToolTipText属性设置才有效。 7.1 命令按钮7.1 命令按钮例7.1 设计表单计算100到999之间的所有水仙花数,设计界面和运行界面如下:说明:表单运行时,单击“计算”按钮,在表单上显示100到999之间所有水仙花数7.1 命令按钮7.1 命令按钮操作步骤: 1)创建表单(Form1),在表单中放置两个命令按钮(Command1和Command2)。 2)选择 “格式”菜单下的命令,设置两个命令按钮大小一致且左对齐。 3)设置对象的属性值:7.1 命令按钮7.1 命令按钮4)代码编写: Command1的Click事件代码: For n = 100 To 999 a = int( n / 100 ) && 获取 n 的百位数 b = int( n / 10 ) % 10 && 获取 n 的十位数 c = n % 10 && 获取 n 的个位数 if n = a*a*a + b*b*b + c*c*c ? n Endif Next Command2的Click事件代码: Thisform.release 5)保存表单为:例7-1.scx,并运行。 7.2 标签7.2 标签标签控件(Label)作为信息的输出载体,用于显示字符型文本信息。标签常用属性 表一7.2 标签7.2 标签标签常用属性 表二7.2 标签7.2 标签说明: 1)若Caption属性由表达式(字符型)提供值,应设置属性值为:=<字符型表达式>,例如:=DTOC( DATE( ) )。 2)BackStyle属性值设置为“0–透明”时,BackColor属性设置将无效。 3)WordWrap属性值和AutoSize属性值均设置为.T.时,可以通过在水平方向压缩标签的宽度,以实现标签控件中的标题文本竖排。7.2 标签7.2 标签【例】测试标签的边框样式和透明样式。在窗体上放置一标签,显示“VFP数据库与程序设计教程”,放置四个命令按钮,Command1放在Command2上,Command3放在Command4上。运行时,单击相应按钮,界面发生相应变化。7.2 标签7.2 标签 例7.2 创建一个新表单,其包含四个标签控件 要求: 表单不带标题栏。Label1、Label2和Label3等 三个控件之间要垂直居中对齐,且垂直间距相同, 相对于表单水平居中。Label4与Label1是两个大 小、标题文本和形状完全一样的标签控件,通过设 置不同的前景和错位,使其产生浮雕的效果。7.2 标签7.2 标签操作步骤: 1)创建表单,并按图示向表单添加四个标签控件。7.2 标签7.2 标签2)设置各控件的属性值:四个标签控件的AutoSize属性值皆为.T.;BackStyle属性值皆为:0 – 透明 7.2 标签7.2 标签3)选定Label1,选择“格式”菜单中的“水平居中”命令,实现控件在表单上水平居中。选择“格式”菜单中的“置后”命令。 4)选中Label1、Label2和Label3从“格式”菜单的“对齐”子菜单中选择“垂直居中对齐”命令。再从“格式”菜单的“垂直间距”子菜单中选择“相同间距”命令。7.2 标签7.2 标签5)代码编写 Form1的Init事件代码: Thisform.Label4.Top = Thisform.Label1.Top + 2 Thisform.Label4.Left = Thisform.Label1.Left + 2 6)保存表单文件,并运行。 7.3 文本框与编辑框7.3 文本框与编辑框 文本框(TextBox) 文本框是Visual FoxPro很常用的一种控件,通常用于显示、输入和编辑字符型、数值型、日期型、日期时间型和逻辑型等数据。 可以与内存变量、数组和数据表的非备注型字段实现数据绑定。7.3 文本框与编辑框7.3 文本框与编辑框 文本框(TextBox) 文本框控件提供了基本的文字编辑功能,如复制、剪切和粘贴等操作。如果编辑的是日期型或是日期时间型数据,选定整个内容按“+”键或“-”键,可以使日期增1或减1。 注意:输入数据时,按回车键即表示输入结束,所以文本框只接受一行数据的输入。 7.3 文本框与编辑框7.3 文本框与编辑框文本框常用属性7.3 文本框与编辑框7.3 文本框与编辑框 文本框常用属性使用说明 1)ControlSource属性用于指定与文本框绑定的数据源,其值为数据表的某一字段或内存变量。运行时,文本框首先显示该变量的值,用户对文本框的编辑结果,也被保存到该变量中。7.3 文本框与编辑框7.3 文本框与编辑框 文本框常用属性使用说明 2)文本框的数据类型取决于其所存储的数据类型。在设计阶段可以通过设置ControlSource属性;若ControlSource属性值为(无),可以通过Value属性的设置其初值类型,Value默认初值为(无),表示字符型,若设置Value初值为0、{ }或.F.,分别表示数值型、日期型、逻辑型。 7.3 文本框与编辑框7.3 文本框与编辑框3)若Value属性由表达式(字符型)提供值,应设置属性值为:=<表达式>,例如:=DATE(),=DATETIME()。 4)PasswordChar属性用于设置用户输入时所显示的占位字符(如“*”),通常用在口令输入中。 5)Format属性用于设置整个文本框的数据格式。该属性值是由格式符组成的一个字符串。 7.3 文本框与编辑框7.3 文本框与编辑框格式符的说明7.3 文本框与编辑框7.3 文本框与编辑框6)InputMask属性用于指定文本框中每一位数据输入输出的格式。该属性值是由模式符组成一个字符串。 7.3 文本框与编辑框7.3 文本框与编辑框 例7.3 设计一个用户登录界面:设计界面如下图(左)所示,利用表STUDENT中的学号和姓名检验其是否为合法用户。运行界面如下图7(右)所示,在两个文本框中分别输入姓名和学号,单击“确定”按钮。若输入正确就显示“欢迎使用……”;否则显示“姓名或学号不对,请重新输入!” 7.3 文本框与编辑框7.3 文本框与编辑框操作步骤: 1)创建表单,按图示添加二个标签控件、二个文本框、一个命令按钮;并设置各控件的Caption属性值。Text1的Format属性值为:T,Text2的Inputmast属性值为:9999999。 2)在表单的数据环境中添加表Student。7.3 文本框与编辑框7.3 文本框与编辑框3) Command1的Click事件代码: Locate For 姓名=Thisform.Text1.Value ; And 学号=Thisform.Text2.Value If Found() Wait "欢迎使用……" Windows Else Wait "姓名或学号不对,请重新输入!" Windows Endif 4)保存表单并运行。 7.3 文本框与编辑框7.3 文本框与编辑框文本框常用事件例7.4 创建表单设计界面如下图所示,要求:在“原串”后的文本框中输入字符。当按下Esc键时,清空该文本框中内容;当按下Enter键时,把“原串”中的内容复制到“目标串”中;按下Shift+A组合键时关闭表单。 例7.4 创建表单设计界面如下图所示,要求:在“原串”后的文本框中输入字符。当按下Esc键时,清空该文本框中内容;当按下Enter键时,把“原串”中的内容复制到“目标串”中;按下Shift+A组合键时关闭表单。 操作步骤: 1)创建表单,并按图示添加控件和各控件的Caption属性值。7.3 文本框与编辑框7.3 文本框与编辑框7.3 文本框与编辑框2)编写Text1的KeyPress事件代码: LPARAMETERS nKeyCode, nShiftAltCtrl && 系统自带的参数语句 Do Case Case nKeyCode=27 && Esc码值为27 This.value=’’ && 本控件值清空 Case nKeyCode=13 && Enter码值为13 ThisForm.Text2.value=This.value && 实现值复制 Case nShiftAltCtrl=1 and (nKeyCode=65 Or nKeyCode=97) && 当按下Shift和字母A或a时 Thisform.Release && 关闭表单 EndCase7.3 文本框与编辑框【例】设计一个口令检测程序,界面如下图,当用户输入的口令正确时,显示“恭喜!,您已成功进入本系统”,否则,显示,“口令错!,请重新输入”。如果连续两次输入了错误口令,在第三次输入完口令后则显示一个消息框,提示“对不起,您不能使用本系统”,然后退出整个应用程序7.3 文本框与编辑框7.3 文本框与编辑框7.3 文本框与编辑框编辑框 编辑框是一个字处理器,常用于编辑具有多行文本的数据(如数据表的备注型字段),编辑框允许自动换行并能使用方向键、PageUp、PageDown键和垂直滚动条浏览文本,编辑框提供文本的选择、复制、剪切和粘贴操作。7.3 文本框与编辑框7.3 文本框与编辑框编辑框常用属性 表一7.3 文本框与编辑框7.3 文本框与编辑框编辑框常用属性 表二7.3 文本框与编辑框7.3 文本框与编辑框 例7.5 要求表单实现的功能:在文本框中输入文本, 单击Command1(替换)按钮,将用文本框中的文字替换 编辑框中被选定文本内容,单击Command2(还原)编辑 框还原为原来内容。要求编辑框(Edit1)与内存变量x 实现数据绑定。 设计界面如下图报示。7.3 文本框与编辑框7.3 文本框与编辑框操作步骤: 1)创建表单,按图示在表单中添加控件,并设置相关控件的Caption属性值。 Text1的Format属性值为:T Edit1的ControlSource属性值为:x7.3 文本框与编辑框7.3 文本框与编辑框2)代码编写 Form1的Load事件代码: Public x,y && 定义两个公有变量x和y x = "使用面向对象的方法解决问题的首要任务,就是要从客观世界;识别出相应的对象,并抽象出为解决问题的所需要的对象属性和对象方法。" y = x && 保存变量值到y,用于数据还原7.3 文本框与编辑框7.3 文本框与编辑框 命令按钮Command1的Click事件代码: ThisForm.Edit1.SelText=ThisForm.Text1.Value && 用文本框内容置换编辑框中选定的文本 命令按钮Command2的Click事件代码: ThisForm.Edit1.Value = y && 将y的值写回到编辑框中 null 【例】设计一个四则运算的自我练习应用程序,界面如下图所示。 null(1) 执行时,当在Text1中输入一种运算符后,在标签Label2中立即出现该运算符号。 (2) 单击“出题”按钮可以产生两个[0,1000]之间的随机整数,这时由Text2、Label2和Text3组成一个表达式。 (3) 可以通过单击“计算”按钮计算所生成的表达式的值。 (4) 也可以由用户在文本框Text4中输入运算结果通过单击“判断”按钮可以判断输入的运算结果是否正确,然后在Label4上显示“正确”或“错误”。 (5) 单击“退出”按钮结束运行。null【例】在Text1中输入任一英文字母,在Text2中显示该英文字母及其ASCII码值。要求在编辑框edit1中显示出所有输入的英文字母及其ASCII码值7.4 列表框与组合框7.4 列表框与组合框列表框(ListBox) 列表框的功能是提供了一组列表项,用户可以从中选择一个或多个列表项。通常,列表框只显示这组列表项中的部分列表项,用户可以通过滚动条浏览其他列表项,它是Windows应用程序的对话框中最常用的控件之一。7.4 列表框与组合框7.4 列表框与组合框列表框常用属性 表一7.4 列表框与组合框7.4 列表框与组合框列表框常用属性 表二7.4 列表框与组合框7.4 列表框与组合框说明: 1)RowSource属性与RowSourceType属性的对应关系 7.4 列表框与组合框7.4 列表框与组合框续上表第8章 表单控件第8章 表单控件列表框(List) null列表框(List) null列表框(List) null列表框(List) null列表框(List) 7.4 列表框与组合框7.4 列表框与组合框2)DipslayValue属性与Value属性的区别 DipslayValue的值是选定列表项中第1 列的内容,而Value的值与BountColumn属性值有关。 3)ControlSource属性:指定一个字段或一个变量用以保存用户从列表中选择的结果。 例如:ControlSource的值为x,则x的值与列表框的Value值一致。注意:x应为公有变量,并初始化为空串。 4)List属性设计时不可用,运行时可读写。 例如:访问列表框中第3 行第1列上的数据项 <对象名>.List(3,1)7.4 列表框与组合框7.4 列表框与组合框5)ListIndex属性设计时不可用,运行时可读写。值范围为:0 ~ ListCount(列表项数)。当值为0时表示列表框中没有列表项被选中。 例如:要求运行时把第3 行列表项设置为选定项。 <对象名>.ListIndex = 3 等价的语句:<对象名>.Selected(3)=.T. 6)MultiSelect属性值为.T.时,允许用户利用Shift+单击或Ctrl+单击,来选定列表框中连续或不连续的多重列表项。7.4 列表框与组合框7.4 列表框与组合框列表框生成器 列表框生成器卡:方便用户对列表框常用属性的设置,包含了四个选项卡: 1)“列表项”选项卡:主要用于设置列表框的数据源类型及数据源。 2)“样式”选项卡:主要用于设置列表框的样式、行数和是否递增搜索等。 3)“布局”选项卡:主要用于控制列表框的行宽和显示方式。 4)“值”选项卡:主要用于指定返回值的列和设置存储返回值的字段名。7.4 列表框与组合框7.4 列表框与组合框 AddItem方法仅当RowSourceType为0时可用。格式: <对象名>.AddItem(cItem[,nIndex][,nColumn]) 列表框常用方法7.4 列表框与组合框7.4 列表框与组合框当运行表单时,要求列表框选取某一列表项,完成特定功能。通常可以在When或InteractiveChange事件中编写相关代码。列表框常用事件7.4 列表框与组合框7.4 列表框与组合框 例7.6 列表框之间的列表项的移动,要求: 1)List1的列表项是数据表名。 2)当List1某一列表项(表名)被选中之后,List2中的列表项显示该表的字段名。 3)要求在List2中选定一个或多个列表项后,单击(Command1)按钮,将把List2中选定的列表项移动到List3中。 7.4 列表框与组合框7.4 列表框与组合框 例7.6 列表框之间的列表项的移动,要求: 4)单击(Command2)按钮,将把List2中所有列表项移动到List3中。 5)(Command3)和(Command4)两个按钮的功能与前两个命令按钮相反,是把List3中的列表项移动到List2。7.4 列表框与组合框7.4 列表框与组合框操作步骤: 1)根据题意,创建表单,并按图示在表单上放置相关控件。7.4 列表框与组合框7.4 列表框与组合框2)相关控件的属性设置Command1、Command2、 Command3和Command4的Picture属性分别来源…VFP98\FFC\graphics\文件夹下的ADD.bmp、ADDALL.bmp、REMOVE.bmp和 REMALL.bmp文件7.4 列表框与组合框7.4 列表框与组合框3)代码编写: Form1的Init事件代码: ThisForm.List1.ListIndex = 1 && 表单运行时,List1中第一行处于被选中状态 List1的InteractiveChenge事件代码: ThisForm.List2.RowSource = This.Value &&  List1选中列表项作为List2数据源 ThisForm.List3.Clear && 清除List3中的所有列表项 ThisForm.Refresh7.4 列表框与组合框7.4 列表框与组合框 Command1的Click事件代码: * 把List2中选中的列表项添加到List3中 n = ThisForm.List2.ListCount For i = 1 To n If ThisForm.List2.Selected(i) Then ThisForm.List3.AddItem(ThisForm.List2.List(i)) EndIf EndFor7.4 列表框与组合框7.4 列表框与组合框 Command1的Click事件代码: * 自后而前地删除List2中被选中的列表项 For i = n To 1 Step –1 If ThisForm.List2.Selected(i) Then ThisForm.List2.RemoveItem(i) EndIf EndFor ThisForm.Refresh7.4 列表框与组合框7.4 列表框与组合框Command2的Click事件代码: n = ThisForm.List2.ListCount * 把List2中的各列表项依次添加到List3中 For i=1 to n ThisForm.List3.AddItem(ThisForm.List2.List(i)) EndFor * 把List2中的各列表项删除 For i = n To 1 Step –1 ThisForm.List2.RemoveItem(i) EndFor ThisForm.Refresh Command3和Command4的Click事件代码与Command1和Command2的Click事件代码类似。 7.4 列表框与组合框7.4 列表框与组合框组合框(ComboBox) 组合框控件相当于一个文本框和一个列表框的组成体,外观上只有一个列表项是可见的,运行时用户可以单击组合框右边的下箭号(“”)按钮打开列表项列表,然后选取相关的列表项,被选取的列表项就显示在组合框的文本栏中。7.4 列表框与组合框7.4 列表框与组合框组合框有两种形式:下拉组合框和下拉列表框,由Style的属性值决定: 0(默认值)— 下拉组合框,可以从列表中选取列表项,也可以在组合框中输入列表项内容; 2 — 下拉列表框,只能从列表中选取列表项,但不能在组合框中输入列表项内容。 组合框的属性、方法和事件与列表框类似,但组合框没有MultiSelect属性 。7.4 列表框与组合框7.4 列表框与组合框 例7.7 查询各专业学生选修课程成绩信息 要求: 在下拉列表框中选取一个专业名称,根据Student表和Grade表中的数据,在列表框中显示该专业学生的学号、姓名和他们各自所选修的课程号及其成绩。并且在标签控件(Label7)上显示该专业学生选课的人次数,如图示中“社会学”专业学生选修课程为4人次。单击“退出”按钮将关闭所有打开的数据表并关闭表单。7.4 列表框与组合框7.4 列表框与组合框运行界面如图所示Label77.4 列表框与组合框7.4 列表框与组合框操作步骤: 1)创建表单,并按图示放置相关控件。 2)按图示设置Form1、Label1、…、Label6的Caption属性值,Label7的Caption属性值设置为:0 设计界面如下图:7.4 列表框与组合框7.4 列表框与组合框3) 设置组合框(Combo1)和列表框(List1)的属性值 7.4 列表框与组合框7.4 列表框与组合框主要代码编写: Combo1的InteractiveChange事件代码: ch = AllTrim(ThisForm.Combo1.Value) ThisForm.list1.RowSource ="; Select Student.学号,姓名,课程号,成绩; From student; Inner Join grade; On Student.学号 = Grade.学号; Where Student.专业 = ch; Order By Grade.学号; Into Cursor temp" Select temp x = Reccount() ThisForm.Label7.Caption = Str(x,3) ThisForm.Refresh 7.5 微调控件7.5 微调控件微调控件(Spinner) 微调控件是一种输入控件,主要是用来接受给定范围内的数值输入。它可以接收用户键盘输入的数值,也可以使用微调控件中的向上、向下箭头对微调控件中的值进行增减。7.5 微调控件7.5 微调控件微调控件常用属性7.5 微调控件7.5 微调控件说明: 1)微调控件默认显示的是整数。若要按指定格式输入,那么可以使用输入掩码来限定。例如,要使用键盘在微调控件中输入12.34,那么InputMask属性值设置为:99.99。 2)如果要求单击向上、向下箭头时增减幅度含有小数位,如Increment属性值为:1.50。那么,Value属性值也要相应设置为:0.00(当Value属性值为0时,只显示整数)。7.5 微调控件7.5 微调控件微调控件常用事件7.5 微调控件7.5 微调控件 例7.8 利用文本框和微调控件调整日期,设计界面和运行界面 如下图。 运行表单时单击微调上、下箭头,实现文本框中的日期增1、减1。7.5 微调控件7.5 微调控件代码编写 Spinner1的UpClick事件代码: ThisForm.Text1.Value = ThisForm.Text1.Value + 1 Spinner1的DownClick事件代码: ThisForm.Text1.Value = ThisForm.Text1.Value - 1 Command1的Click事件代码: ThisForm.Release 控件的属性设置7.6 复选框与选项按钮组7.6 复选框与选项按钮组复选框控件(CheckBox) 复选框是在两个状态间进行选择的控件,即只有选中与不选中,常用于表示一个逻辑型表达式或字段的值。7.6 复选框与选项按钮组7.6 复选框与选项按钮组 说明: 1)复选框通常与逻辑型变量或逻辑型字段进行数据绑定。 2)Value属性的取值: 复选框未选中时,值为0 或 .F. 复选框被选中时,值为1 或 .T. 若设置为2 或 .Null.时,复选框为灰色表示不确定 Value的值是数值型还是逻辑型的,取决于ControlSource 的类型,若ControlSource为(无),则取决于Value初值的类型7.6 复选框与选项按钮组7.6 复选框与选项按钮组例7.9 设计一个选课表单,设计界面如下图:要求: 1)在组合框(Combo1)中选择学号,在5个复选框选中相应的课程。 2)单击“确定”按钮,将把学生选课的信息保存到数据表:选课.dbf。 3)单击“退出”按钮,将关闭所有打开的数据表并关闭表单。7.6 复选框与选项按钮组7.6 复选框与选项按钮组操作步骤: 1)按题意创建数据表:选课.dbf:学号(C,7)和课程号(C,5) 。 2)创建表单,按图示放置各个控件,并设置各控件的Caption属性值。 3)把Student表、Course表和选课表等三个数据表依次添加到表单的数据环境中。 4)组合框的属性值:7.6 复选框与选项按钮组7.6 复选框与选项按钮组 代码编写: Command1的Click事件代码: For i = 1 to 5 s = Str(i,1) If ThisForm.Check&s..Value =1 Select Course Locate For 课程名=ThisForm.Check&s..Caption Select 选课 Append Blank Replace 学号 with ThisForm.Combo1.Value, ; 课程号 with Course.课程号 Endif EndFor 7.6 复选框与选项按钮组7.6 复选框与选项按钮组选项按钮组(OptionGroup) 选项按钮组是一种容器类控件,其中包容了若干个选项按钮。其作用:在同一个选项按钮组中,用户能且只能选中其中的某一个按钮,在选中某一个按钮的同时释放先前的选择。7.6 复选框与选项按钮组7.6 复选框与选项按钮组选项按钮组常用属性 注意:选项按钮组是一个容器类控件,该容器只能包容选项按钮控件。 7.6 复选框与选项按钮组7.6 复选框与选项按钮组 说明: 1)Value属性值有数值型和字符型两种,取决于Value属性的初值类型。 若初值为数值型(默认值为1),那么,Value属性值为当前被选中按钮的序号,0表示不选择任何按钮。 若初值为字符型(例如一个空串),那么,Value属性值为当前被选中按钮的Caption属性值。7.6 复选框与选项按钮组7.6 复选框与选项按钮组 说明: 2)ControlSource属性指定的数据源用来存放选项按钮组的当前值即Value属性值。选项按钮组可以与一个内存变量或字段变量实现数据绑定。7.6 复选框与选项按钮组7.6 复选框与选项按钮组说明: 1)选项按钮组控件没有Caption属性,选项按钮组中的选项按钮才具有Caption属性。 2)选项按钮的Value属性值只有数值型(1和0)与逻辑型(.T.和.F.)两种,用于表示选项按钮是否被选中。 选项按钮的常用属性7.6 复选框与选项按钮组7.6 复选框与选项按钮组说明: 1)选项按钮组和其所包容的选项按钮都有Click事件。单击选项按钮组中的某选项按钮时,若该选项按钮没有对Click事件编写代码,它触发的将是选项按钮组的Click事件。 2)若单击选项按钮组的空白处,选项按钮组的Click事件被触发。 选项按钮组常用事件7.6 复选框与选项按钮组7.6 复选框与选项按钮组例7.10 设计表单为数据表添加新记录,设计界面:运行时单击“添加新记录”按钮时即可添加新记录7.6 复选框与选项按钮组7.6 复选框与选项按钮组操作步骤: 首先,打开数据表Student.dbf,并利用表设计器把Student表的“学号”字段的默认值设置为:”0000000”,随后关闭Student表。 1)创建表单,把Student表添加到数据环境设计器。 2)把数据环境设计器中Student表里的字段:学号、姓名、出生日期、入学总分、定向否和简历依次拖到表单的相应位置。7.6 复选框与选项按钮组7.6 复选框与选项按钮组操作步骤: 3)在表单中添加2个标签控件(lbl性别和lbl专业)、1个选项按钮组(opt性别)和3个命令按钮(cmdApp、cmdCancel和cmdExit)。按图示设置各控件的标题。 4)再在表单中添加下拉列表框(cmb专业)。 7.6 复选框与选项按钮组7.6 复选框与选项按钮组设置相关控件属性值 7.6 复选框与选项按钮组7.6 复选框与选项按钮组代码编写 Form1的Init事件代码: ThisForm.cmb专业.RowSource = "社会学,汉语言文学, 工商管理, 经济学,英语,日语,计算机应用,软件,系统工程" cmdApp的Click事件代码: Append Blank ThisForm.Refresh cmdCancel的Click事件代码: Go Bottom Delete Pack7.7 命令按钮组 7.7 命令按钮组 命令按钮组(CommandGroup) 命令按钮组是包含若干个命令按钮的容器类控件,是Windows中最常用的控件之一。当表单中需要多个命令按钮时,将一系列功能类似的命令按钮装载在一个容器——命令按钮组,以便对命令按钮进行统一的管理和使用。与选项按钮组控件类似,命令按钮组与其所包容的命令按钮都有各自独立的属性、方法和事件。命令按钮组最常用事件是Click事件。7.7 命令按钮组7.7 命令按钮组说明: 1)Value属性的类型、取值与选项按钮组的Value属性完全相同。 2)Buttons属性代表的数组在创建命令按钮组时由系统自动创建,该数组保存命令按钮组中各命令按钮的索引号。命令按钮组常用属性7.7 命令按钮组7.7 命令按钮组例7.11 设计表单实现对Student表记录内容的浏览和修改要求实现: 1)每页显示一条记录内容。 2)前4个命令按钮的功能是实现记录指针的移动,并要求: ①当记录指针指向首记录或文件首时,第1、2个命令按钮变为不可用,否则可用。 ②当记录指针指向末记录或文件尾时,第3、4个命令按钮变为不可用,否则可用。 ③鼠标指向命令按钮时,它们显示的提示信息分别为:“首记录”、“前一记录”、“下一记录”和“末记录”。 3)最后一个命令按钮用于确认退出,并关闭表单。7.7 命令按钮组7.7 命令按钮组设计界面7.7 命令按钮组7.7 命令按钮组操作步骤: 1)创建表单,打开数据环境设计器,并添加STUDENT表。 2)在数据环境设计器中,依次把STUDENT表的各相关字段拖动到表单设计器中,表单设计器将自动创建相应的控件。 3)在表单中添加一个命令按钮组内含5个命令按钮,并把它们的Name属性值分别设置为:CmdTop、CmdPre、CmdNxt、CmdBtm和CmdExit。然后按下表设置5个命令按钮和表单的属性。7.7 命令按钮组7.7 命令按钮组7.7 命令按钮组7.7 命令按钮组续前表7.7 命令按钮组7.7 命令按钮组代码编写: CmdTop的Click事件代码: Go Top With ThisForm.CommandGroup1 .CmdTop.Enabled=.F. .CmdPre.Enabled=.F. .CmdNxt.Enabled=.T. .CmdBtm.Enabled=.T. EndWith ThisForm.Refresh7.7 命令按钮组7.7 命令按钮组CmdPre的Click事件代码: With ThisForm.CommandGroup1 .CmdNxt.Enabled=.T. .CmdBtm.Enabled=.T. If Bof() MessageBox("已到文件首",48,"移动记录") .CmdTop.Enabled=.F. .CmdPre.Enabled=.F. Else Skip -1 EndIf EndWith ThisForm.Refresh7.7 命令按钮组7.7 命令按钮组 CmdNxt的Click事件代码和CmdBtm的Click事件代码与前面二个类似。 CmdExit的Click事件代码: If MessageBox("确定退出!",4+32,"确认框") = 6 ThisForm.Release Endif7.8 表格7.8 表格表格(Grid)是一个容器类控件,其外观类似数据表的Browse窗口,按照行和列的二维表格形式显示数据,可以同时操作和显示多行数据。 表格控件的组成 一个表格控件(Grid)是由若干个列对象(Column)组成;每个列对象是由标头对象(Header)和若干个文本框、编辑框、列表框、组合框、复选框、微调按钮等控件组成。表格对象、列对象、标头对象和列对象所包容的控件都有自己的属性、方法和事件。 7.8 表格7.8 表格表格常用属性 表一7.8 表格7.8 表格表格常用属性 表二7.8 表格7.8 表格说明 1)RecordSourceType属性与RecordSource属性关系 7.8 表格7.8 表格 当RecordSourceType属性值为别名时,相应的表要添加到表单的数据环境中。当表格控件要求数据来源于多个表时,RecordSourceType属性值要设置为3或4,相应地RecordSource的属性值为查询文件名或SQL语句。 2)ColumnCount属性用于设定表格控件中所含列对象的数目。其默认值为-1,表示用足够的列来显示数据源中的所有字段。 7.8 表格7.8 表格列的常用属性7.8 表格7.8 表格为列添加新的控件操作步骤如下: ⑴ 右击表格对象,选择“编辑”。 ⑵ 将控件工具栏中的控件拖到指定列(此时,新添加的控件并没有显示)。 ⑶ 在“属性”窗口,把CurrentControl属性值设置为指定控件(指定控件显示为图标)。7.8 表格7.8 表格标头的常用属性7.8 表格7.8 表格表单设计初始界面(左) 利用表格生成器设计后界面(中) 运行界面(右) 例7.12 设计表单,实现按学号查询学生的各科成绩。7.8 表格7.8 表格例7.13 设计表单,利用Student表查询各专业学生信息,要求: 当在下拉列表框中选择指定专业后,当单击“确定”按钮,在表格中显示该专业的学生相关信息。 当单击“退出”按钮,将关闭所有的表文件并退出表单。7.8 表格7.8 表格操作步骤: 1)创建表单,按图示添加1个标签控件(Label1)、1个下拉列表框(Combo1)、 1个表格对象(Grid1)和2个命令按钮(command1和command2)。7.8 表格7.8 表格运行界面:7.8 表格7.8 表格2)设置各个控件的属性 7.8 表格7.8 表格代码编写: Command1的Click事件代码: zy = alltrim(ThisForm.combo1.value) Thisform.Grid1.RecordSource = " ; Select 学号,姓名,出生日期,定向否,入学总分; From Student ; Where 专业 = zy ; Into Cursor lsb " Command2的Click事件代码: Close dbf all ThisForm.Release7.9 页框与页面7.9 页框与页面页框(PageFrame) 页框是包容页面的容器类对象,一个页框可以包容若干个页面对象,每个页面在页框中以选项卡形式出现。 页面(Page) 页面也是一个容器类对象,页面上可存在若干个控件。在任何时候只有一个活动页面,且只有活动页面的对象在表单上是可见的。利用页框、页面可以构造Windows应用程序中常见的选项卡对话框。7.9 页框与页面7.9 页框与页面页框常用属性 7.9 页框与页面7.9 页框与页面说明: Pages属性代表的数组在创建页框时由系统自动建立,用于保存各个页面在页框中的索引号。用户可以利用该数组引用页框中的各页面,例如:Pages(1)、Pages(2)……分别表示页框中第1页面、第2页面……。7.9 页框与页面7.9 页框与页面页面常用属性 7.9 页框与页面7.9 页框与页面例7.14 设计表单,实现按学号查询学生的相关信息。运行界面如下: 运行时用户在表单下方文本框中输入一个学号,单击“查找”按钮,在页框的两个页面中分别显示相关信息7.9 页框与页面7.9 页框与页面操作步骤: 1)创建表单,添加一个页框控件(PageFrame1)、一个标签控件(Label1)、一个文本框(Text1)、和两个命令按钮(Command1、Command2)。 2)打开数据环境设计器,添加Student表。 3)在页框选中第1个页面,然后从数据环境中将Student表的学号、姓名、专业和定向否等4 个字段拖入该页中(实现数据绑定)。 4)在页框第2个页面(Page2)中添加一个表格控件。7.9 页框与页面7.9 页框与页面5) 各控件的属性设置7.9 页框与页面7.9 页框与页面代码编写: Form1的Activate事件代码: Thisform.Text1.SetFocus && 当表单被激活时,将焦点置于文本框中 PageFrame1的Init事件代码: Select Student Go bottom Skip 上述代码的功能,是将Student表的指针指向文件末,使初始运行表单时,第1个页面上没有信息显示。 Command2的Click事件代码: Close Dbf All Thisform.Release 7.9 页框与页面 7.9 页框与页面 Command1的 Click事件代码: num = Alltrim(Thisform.Text1.Value) Locate For 学号 = num If !Eof() Thisform.PageFrame1.Page1.Refresh Thisform.PageFrame1.Page2.Grid1.RecordSource=" ; Select Grade.课程号,课程名,成绩 ; From Grade ,Course ; Where Grade.课程号 = Course.课程号 ; And Grade.学号 = num Into Cursor lsb " Else MessageBox("数据出错,请重新输入!") Thisform.Text1.Value = "" Endif Thisform.Text1.SetFocus7.10 容器7.10 容器容器(Container) 容器控件能够根据需要包容除表单集和表单以外的所有类型的对象。在表单设计器中,容器可以使包容其中的对象作为一个整体来处理。 要在容器对象中添加对象首先必须激活容器对象,然后才可以往容器对象中添加控件。注意:不能使用鼠标拖动的方法把表单中已存在的控件拖动到容器对象中。 7.11 计时器7.11 计时器计时器(Timer) 计时器控件可以按给定的时间间隔自动地触发事件,因此可以自动定时执行一些特定的任务。计时器控件设计时是可见的,运行时不可见,它是属于后台执行的一种控件。7.11 计时器7.11 计时器说明: InterVal属性取值范围是0~2147483647(596.5小时,24.85天)。InterVal属性只能决定Timer事件发生的频率,而不能决定Timer事件代码执行的时间长短,故间隔的精度要根据需要来设定。 计时器的常用属性7.11 计时器7.11 计时器例7.15 设计一个计时器,设计界面如下:7.11 计时器7.11 计时器说明: 1)运行时,单击“开始计时”按钮,文本框(Text1)先清零,然后开始计数;“开始计时”按钮变为无效,“暂停”和“停止”按钮变为有效。 2)单击“暂停”按钮,系统停止计时,并且该按钮标题改为“继续” 。7.11 计时器7.11 计时器说明: 3)单击“继续”按钮,系统继续计时,并且该按钮标题改为“暂停”。 4)单击“停止”按钮,系统停止计时,“暂停”按钮变为无效,并把所用时间转换为“时分秒”的形式显示出来。“开始计时”变为有效(为下一轮的计时作准备)。7.11 计时器7.11 计时器操作步骤: 1)创建表单,并在表单放置4个标签(Label1~Label4)、1个文本框(Text1)、4个命令按钮(Command1~Command4),并分别设置各控件的Caption属性值, 标签控件的AutoSize的属性值皆为.T.。 2)设置其它属性7.11 计时器7.11 计时器代码编写 Timer1的Timer事件代码: Thisform.Text1.Value = Thisform.Text1.Value + 1 Command1的Click事件代码: Thisform.Text1.Value = 0 Thisform.Timer1.Enabled = .T. Thisform.Command1.Enabled = .F. Thisform.Command2.Enabled = .T. Thisform.Command3.Enabled = .T. 7.11 计时器7.11 计时器Command2的Click事件代码: If This.Caption = "暂停" This.Caption = "继续" Thisform.Timer1.Enabled = .F. Else This.Caption = "暂停" Thisform.Timer1.Enabled = .T. Endif Command4的Click事件代码: Thisform.Release7.11 计时器7.11 计时器Command3的Click事件代码: Thisform.Timer1.Enabled = .F. Thisform.Command1.Enabled = .T. Thisform.Command2.Enabled = .F. Thisform.Command3.Enabled = .F. tot = Thisform.Text1.Value h = Int(tot/3600) tot = tot % 3600 m = Int(tot/60) s = tot % 60 Thisform.Label4.Caption = Str(h,2)+"时"+Str(m,2); +"分"+Str(s,2)+"秒" 7.12 线条、形状、图像7.12 线条、形状、图像线条(Line): 线条主要用于修饰表单,可以根据实际要求在表单上的任意两点间画出一条的直线。线条常用属性:7.12 线条、形状、图像7.12 线条、形状、图像形状(Shape) 形状控件用于美化表单界面;可以作为其他控件的背景。形状控件可直接在表单上画矩形、正方形和椭圆等图形。形状控件的常用属性:7.12 线条、形状、图像7.12 线条、形状、图像图像(Image) 图像控件用于在表单中显示图像。其支持的图像文件类型包括.B
本文档为【第7章 使用表单控件】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_471706
暂无简介~
格式:ppt
大小:1MB
软件:PowerPoint
页数:0
分类:其他高等教育
上传时间:2012-04-13
浏览量:26