铜陵学院数学与计算机学院:《数据库原理及应用》课程教学资源(教案讲义)第5章 表单

第5章表单表单是最常见的界面,对话框、向导、设计器等各类窗口,在VFP中统称为表单。表单为数据库信息的显示、输入及编辑提供了非常方便的方法,同时面向对象编程的大多数工作是在表单中进行,设计表单的过程就是设计程序界面的过程。5.1表单的创建5.1.1表单向导1、用表单向导创建表单【例5-1】使用表单向导创建一个维护xsda.dbf的表单。(1)单击“文件”菜单中的“新建”菜单项,在弹出的“新建”对话框中选定“表单”后单击“向导”按钮;或单击“工具”菜单中的“向导”子菜单中选定“表单”菜单项,按以上两种操作均会出现“向导选取”对话框。对话框中有表单向导与一对多表单向导两个选项,前者适用于单表表单,后者适用于一对多关系的两个表的表单。(2)选择“表单向导”后单击“确定”按钮,出现“表单向导”对话框,在“数据库和表”区域的对话按钮,在出现的“打开”对话框中选择xsda表。将可用字段列表框的所有字段移到选定字段列表框,单击“下一步”按钮。(3)在“选择表单样式”对话框中选定“阴影式”,单击“下一步”按钮。(4)在“排序次序”对话框中用户可选择字段或索引标识来排序记录。将姓名字段升序添加到“选定字段”列表框中,单击“下一步”按钮。(5)在“完成”对话框中输入表单标题后单击“完成”按钮,在弹出的“另存为”对话框中输入表单文件名xsda.scx然后选定“保存”按钮。(6)运行表单:在命令窗口中输入“doformxsda”。2、用“表单向导”创建一对多表单【例5-2】创建一个用于按学号、姓名显示成绩的基于xsda.dbf和xscj.dbf的表单。(1)在“工具”菜单的向导子菜单中选定“表单”菜单项,在弹出的“向导选取”对话框中选一对多表单向导项后单击“下一步”按钮。(②)在弹出的对话框中单击“数据库和表”区域的对话按钮,在出现的“打开”对话框中选择xsda表,将可用字段中的学号、姓名两个字段移到选定字段列表框,单击“下一步”按钮。(3)在弹出的对话框中“数据库和表”区域的对话按钮,在出现的“打开”对话框中选择xScj表,将可用字段中的除学号、总分两个字段外所有的字段移到选定字段列表框,单击“下一步”按钮。(4)在弹出的“表之间关系”对话框中单击“下一步”按钮。(5)在弹出的“选择表单样式”对话框中选择“浮雕式”,单击“下一步”。(6)在弹出的“排序次序”对话框中不做任何设置,直接点击“下一步”按钮。(7)在“完成”对话框中输入表单标题“学号成绩”后单击“完成”按钮,在弹出的“另存为”对话框中输入xhcj.scx保存文件即可。5.1.2表单设计器在VFP中创建表单除了可以利用向导外,还可利用设计器。表单设计器集成了用于表单设计的各种对象和操作工具,不仅能创建表单还能修改表单,并给予可视化提示。可以使用以下两种方法打开表单设计器:一种是选定“文件”菜单的“新建”菜单项
第5章 表 单 表单是最常见的界面,对话框、向导、设计器等各类窗口,在 VFP 中统称为表单。表单 为数据库信息的显示、输入及编辑提供了非常方便的方法,同时面向对象编程的大多数工作 是在表单中进行,设计表单的过程就是设计程序界面的过程。 5.1 表单的创建 5.1.1 表单向导 1、 用表单向导创建表单 【例 5-1】使用表单向导创建一个维护 xsda.dbf 的表单。 (1) 单击“文件”菜单中的“新建”菜单项,在弹出的“新建”对话框中选定“表单” 后单击“向导”按钮;或单击“工具”菜单中的“向导”子菜单中选定“表单”菜单项,按 以上两种操作均会出现“向导选取”对话框。对话框中有表单向导与一对多表单向导两个选 项,前者适用于单表表单,后者适用于一对多关系的两个表的表单。 (2) 选择“表单向导”后单击“确定”按钮,出现“表单向导”对话框,在“数据库和 表”区域的对话按钮,在出现的“打开”对话框中选择 xsda 表。将可用字段列表框的所有 字段移到选定字段列表框,单击“下一步”按钮。 (3) 在“选择表单样式”对话框中选定“阴影式”,单击“下一步”按钮。 (4) 在“排序次序”对话框中用户可选择字段或索引标识来排序记录。将姓名字段升序 添加到“选定字段”列表框中,单击“下一步”按钮。 (5) 在“完成”对话框中输入表单标题后单击“完成”按钮,在弹出的“另存为”对话 框中输入表单文件名 xsda.scx 然后选定“保存”按钮。 (6) 运行表单:在命令窗口中输入“do form xsda”。 2、 用“表单向导”创建一对多表单 【例 5-2】创建一个用于按学号、姓名显示成绩的基于 xsda.dbf 和 xscj.dbf 的表单。 (1) 在“工具”菜单的向导子菜单中选定“表单”菜单项,在弹出的“向导选取”对话 框中选一对多表单向导项后单击“下一步”按钮。 (2) 在弹出的对话框中单击“数据库和表”区域的对话按钮,在出现的“打开”对话框 中选择 xsda 表,将可用字段中的学号、姓名两个字段移到选定字段列表框,单击“下一步” 按钮。 (3) 在弹出的对话框中“数据库和表”区域的对话按钮,在出现的“打开”对话框中选 择 xscj 表,将可用字段中的除学号、总分两个字段外所有的字段移到选定字段列表框,单 击“下一步”按钮。 (4) 在弹出的“表之间关系”对话框中单击“下一步”按钮。 (5) 在弹出的“选择表单样式”对话框中选择“浮雕式”,单击“下一步”。 (6) 在弹出的“排序次序”对话框中不做任何设置,直接点击“下一步”按钮。 (7) 在“完成”对话框中输入表单标题“学号成绩”后单击“完成”按钮,在弹出的“另 存为”对话框中输入 xhcj.scx 保存文件即可。 5.1.2 表单设计器 在 VFP 中创建表单除了可以利用向导外,还可利用设计器。表单设计器集成了用于表单 设计的各种对象和操作工具,不仅能创建表单还能修改表单,并给予可视化提示。 可以使用以下两种方法打开表单设计器:一种是选定“文件”菜单的“新建”菜单项

在“新建”对话框中选择“表单”项并单击“新建文件”按钮;另一种方法是在命令窗口中输入“modifyform”命令。出现如下图所示的表单设计器窗口。licrosoft Visual FoxPro回区文件)编接(显示(格式()表单)工具)程序()窗口)帮助口交国电国公庆品式容-口x口屈性·文者!表单设计器-文者10xFornl一For表单×【全部数据方法程布局其地面AblO软认过程!ivateEvent4AativecontrolActiveForr丽默汉过程】Adabject国默认过程Adaproperty假(默认道)Alwaysonlotton国AlwaysonfopF一假献认值)AutoCenteF,一假默认值)巴国Backcoler236,233,216BaseClassForw回当表单集、表单或页对象激活时,或者显囍示工直栏对康时发生。A表单设计器打开后,系统自动新建的一个名forml表单,用户可以使用以下要素完成所需表单的设计。(1)包含表单设计工具的各种工具栏:例如表单控件工具栏、布局工具栏、表单设计器工具栏、调色板工具栏。(2)设置、编辑表单对象属性的属性窗口。(3)用于提供表的数据环境设计器窗口。(4)系统菜单中的表单菜单。【例5-3】利用表单设计器创建基于表xsda.dbf的表单。(1)打开表单设计器。(2)打开“数据环境设计器”:在表单窗口中单击鼠标右键,在弹出的快捷菜单中选定“数据环境”菜单项。(3)在出现的“数据环境设计器”窗口中,单击右键,在快捷菜单中选定“添加”项,将xsda.dbf表添加到数据环境中。(4)从“数据环境设计器”中将需要的字段拖拽到表单中合适位置。(5)关闭“数据环境设计器”,在表单空白处单击表单右键,在弹出的快捷菜单中选“执行表单”运行表单即可。5.2面向对象程序设计5.2.1.基本概念面向对象的程序设计方法是一种新的程序设计方法,是指将数据处理由面向过程转向面向对象,并采用事件驱动其执行过程的程序设计方法。1、类采用面向对象的程序设计方法设计应用软件,首要的任务就是创建所需要的对象。如何创建用户所需的对象,就成为这种程序设计方法要解决的核心问题。VisualFoxPro为我们
在“新建”对话框中选择“表单”项并单击“新建文件”按钮;另一种方法是在命令窗口中 输入“modify form”命令。出现如下图所示的表单设计器窗口。 表单设计器打开后,系统自动新建的一个名 form1 表单,用户可以使用以下要素完成所 需表单的设计。 (1) 包含表单设计工具的各种工具栏:例如表单控件工具栏、布局工具栏、表单设计器 工具栏、调色板工具栏。 (2) 设置、编辑表单对象属性的属性窗口。 (3) 用于提供表的数据环境设计器窗口。 (4) 系统菜单中的表单菜单。 【例 5-3】利用表单设计器创建基于表 xsda.dbf 的表单。 (1) 打开表单设计器。 (2) 打开“数据环境设计器”:在表单窗口中单击鼠标右键,在弹出的快捷菜单中选定 “数据环境”菜单项。 (3) 在出现的“数据环境设计器”窗口中,单击右键,在快捷菜单中选定“添加”项, 将 xsda.dbf 表添加到数据环境中。 (4) 从“数据环境设计器”中将需要的字段拖拽到表单中合适位置。 (5) 关闭“数据环境设计器”,在表单空白处单击表单右键,在弹出的快捷菜单中选“执 行表单”运行表单即可。 5.2 面向对象程序设计 5.2.1 基本概念 面向对象的程序设计方法是一种新的程序设计方法,是指将数据处理由面向过程转向面 向对象,并采用事件驱动其执行过程的程序设计方法。 1、类 采用面向对象的程序设计方法设计应用软件,首要的任务就是创建所需要的对象。如何 创建用户所需的对象,就成为这种程序设计方法要解决的核心问题。Visual FoxPro 为我们

提供了生成各种所需对象的相应模具,那就是类。用一种模具可以生产同种类的许多产品,使用某一个类也可以在不同的应用程序中创建同种类的许多对象。类具有以下特点:(1)继承性:也就是说可以从现有的类派生出新类。派生类具有父类的所有特性,它直接继承了父类的所有方法和数据,派生类的对象可以调用该类及父类的成员变量和成员函数。(2)封装性:是将方法和数据存放于同一个对象中,并且对数据的存取只能通过对象本身的方法来进行。其他的对象不能直接作用于该对象的数据,对象的相互作用只能通过消息进行。(3)多态性:指的是不同的对象接收到相同的消息时,可以做出完全不同的理解,进而产生完全不同的动作。利用多态性,应用程序可以发送一般形式的消息,而将所有实现的细节留给接收消息的对象自己来解决。2、对象对象是指具有具体属性并指派了方法和事件的类的实例。在VFP中对象分为控件和容器两种。(1)控件类不允许包含其他对象的类称作控件类,有复选框、组合框、命令按钮、编辑框、列表框、文本框、标签、线条、微调器、选择按钮、图像、表头、计时器、OLE绑定型控件、OLE容器控件、自定义、分隔符、形状等。(2)容器类可以包含其他对象的类称作容器类。有表单、表单集、表格、列、页框、页面、命令按钮组、选项按钮组、容器、控件、工具栏等。3、属性属性用来表示对象的特征和状态。比如,一个对象的外观、大小和颜色等都可以由相应的属性表示。对象的属性一般可在表单设计器的属性窗口中设置,对于一些无法在属性窗口中设置的属性可以按以下语法格式进行赋值:父对象名.对象名.属性=属性值4、事件事件是指当用户或系统对对象进行操作时对象所产生的操作。例如,用鼠标单击命令按钮,将产生一个click事件,一个事件对应于一个程序,称为事件过程。一个对象可以有多个事件。VFP常见事件如下表所示。事件触发时机事件触发时机Load创建对象前Unload释放对象时Init创建对象时按住并释放一个键时KeypressMouseup释放鼠标键时Mousedown按下鼠标键时对象得到焦点时GotfocusLostfocus对象失去焦点时Click单击鼠标左键时双击鼠标左键时Dbclick5、方法方法程序是系统预先编好的代码通用过程,对用户是不可见的。用户通过调用方法程序,就可对某一对象执行相应的操作。常用的方法程序有:(1)Refresh功能:刷新表单或控件的值。例如:thisform.refresh(2)Release功能:释放表单或表单集
提供了生成各种所需对象的相应模具,那就是类。用一种模具可以生产同种类的许多产品, 使用某一个类也可以在不同的应用程序中创建同种类的许多对象。类具有以下特点: (1) 继承性:也就是说可以从现有的类派生出新类。派生类具有父类的所有特性,它直 接继承了父类的所有方法和数据,派生类的对象可以调用该类及父类的成员变量和成员函 数。 (2) 封装性:是将方法和数据存放于同一个对象中,并且对数据的存取只能通过对象本 身的方法来进行。其他的对象不能直接作用于该对象的数据,对象的相互作用只能通过消息 进行。 (3) 多态性:指的是不同的对象接收到相同的消息时,可以做出完全不同的理解,进而 产生完全不同的动作。利用多态性,应用程序可以发送一般形式的消息,而将所有实现的细 节留给接收消息的对象自己来解决。 2、对象 对象是指具有具体属性并指派了方法和事件的类的实例。在 VFP 中对象分为控件和容器 两种。 (1) 控件类 不允许包含其他对象的类称作控件类,有复选框、组合框、命令按钮、编辑框、列表框、 文本框、标签、线条、微调器、选择按钮、图像、表头、计时器、OLE 绑定型控件、OLE 容 器控件、自定义、分隔符、形状等。 (2) 容器类 可以包含其他对象的类称作容器类。有表单、表单集、表格、列、页框、页面、命令按 钮组、选项按钮组、容器、控件、工具栏等。 3、属性 属性用来表示对象的特征和状态。比如,一个对象的外观、大小和颜色等都可以由相应 的属性表示。对象的属性一般可在表单设计器的属性窗口中设置,对于一些无法在属性窗口 中设置的属性可以按以下语法格式进行赋值: 父对象名.对象名.属性=属性值 4、事件 事件是指当用户或系统对对象进行操作时对象所产生的操作。例如,用鼠标单击命令按 钮,将产生一个 click 事件,一个事件对应于一个程序,称为事件过程。一个对象可以有多 个事件。VFP 常见事件如下表所示。 事件 触发时机 事件 触发时机 Load 创建对象前 Unload 释放对象时 Init 创建对象时 Keypress 按住并释放一个键时 Mouseup 释放鼠标键时 Mousedown 按下鼠标键时 Gotfocus 对象得到焦点时 Lostfocus 对象失去焦点时 Click 单击鼠标左键时 Dbclick 双击鼠标左键时 5、方法 方法程序是系统预先编好的代码通用过程,对用户是不可见的。用户通过调用方法程序, 就可对某一对象执行相应的操作。常用的方法程序有: (1) Refresh 功能:刷新表单或控件的值。 例如:thisform.refresh (2) Release 功能:释放表单或表单集

例如:thisform.release(3) Cls功能:清除表单上的图形和文本例如:thisform.box(50,50,100,100)&&在当前表单指定位置画一矩形Thisform.cls&将上述矩形清除5.2.2对象的引用在面向对象的程序设计中常常需要引用对象,或引用对象的属性、事件与调用方法程序。通常对象的引用由以下关键字开头:Thisformset表示当前表单集Thisform表示当前表单This表示当前对象关键字后跟一个(点),再写出被引用对象或者对象属性,事件或方法程序。例如,下列语句设置名为forml表单中的label1标签的一些属性值:Thisform.labell.caption=“程序设计&&本表单的标签标题This.parent.caption=time(&&本对象的容器的标题【例5-4】设计如下图所示的表单,当鼠标在文本框上单击时,文本框内显示当前的日期时间。口口XFornl2:Textl现在的时间是(1)在表单上添加一个标签(label1)对象,将caption属性设为“现在的时间是”,fontsize属性设为12。(2)添加文本框(text1)对象,文本框的click事件代码编写如下:this.value=time()5.3表单中的常用控件在VisualFoxPro6.0中,常用的控件共有25个按钮。它们是1个“按钮”按钮、1个“锁定”按钮、1个“查看类”、21个标准控件和1个“ActiveX”控件。在表单中添加控件,只需在表单控件工具栏中单击所需要的控件,然后在表单中的相应位置拖拽鼠标或单击鼠标左键,控件对象就会显示在表单中,同时与表单一样,控件也是-种对象,其属性值决定了控件的特征和行为,用户可在“属性”窗口设置它的各种属性。1、标签(label)标签控件用于在表单中加入简单的文本串,最常用来标识字段或向用户显示固定的字符信息。常见属性如下表所示
例如:thisform.release (3) Cls 功能:清除表单上的图形和文本 例如:thisform.box(50,50,100,100) &&在当前表单指定位置画一矩形 Thisform.cls &&将上述矩形清除 5.2.2 对象的引用 在面向对象的程序设计中常常需要引用对象,或引用对象的属性、事件与调用方法程序。 通常对象的引用由以下关键字开头: Thisformset 表示当前表单集 Thisform 表示当前表单 This 表示当前对象 关键字后跟一个.(点),再写出被引用对象或者对象属性,事件或方法程序。 例如,下列语句设置名为 form1 表单中的 label1 标签的一些属性值: Thisform.label1.caption=‘程序设计’ &&本表单的标签标题 This.parent.caption=time() &&本对象的容器的标题 【例 5-4】设计如下图所示的表单,当鼠标在文本框上单击时,文本框内显示当前的日 期时间。 (1)在表单上添加一个标签(label1)对象,将 caption 属性设为“现在的时间是”, fontsize 属性设为 12。 (2)添加文本框(text1)对象,文本框的 click 事件代码编写如下: this.value=time() 5.3 表单中的常用控件 在 Visual FoxPro 6.0 中,常用的控件共有 25 个按钮。它们是 1 个“按钮”按钮、1 个 “锁定”按钮、1 个“查看类”、21 个标准控件和 1 个“Active X”控件。 在表单中添加控件,只需在表单控件工具栏中单击所需要的控件,然后在表单中的相应 位置拖拽鼠标或单击鼠标左键,控件对象就会显示在表单中,同时与表单一样,控件也是一 种对象,其属性值决定了控件的特征和行为,用户可在“属性”窗口设置它的各种属性。 1、标签(label) 标签控件用于在表单中加入简单的文本串,最常用来标识字段或向用户显示固定的字符 信息。常见属性如下表所示

属性功能标签上显示的文本CaptionBackstyle标签的背景是否透明根据标签内容自动调整控件大小Autosize标签的名称name标签上显示文本的大小Fontsizeforecolor标签上显示文本的颜色2、文本框(text)文本框控件可用于字符型、数值型、日期型、逻辑性数据的输入和输出。常见属性如下表所示。属性功能Value文本框的当前值文本框是否为只读ReadonlyPasswordChar文本框用作占位符的字符3、编辑框(edit)编辑框控件用于文本数据的输入和编辑,允许自动换行,该控件常作为备注型字段的数据绑定控件。编辑框与文本框类似,差别主要有以下两点:一是编辑框只能用于输入或编辑字符型数据,而文本框则适用于数值型、逻辑性、日期型和字符型4种类型的数据;二是文本框只能供用户输入一行文本,而编辑框则能输入多行文本。4、命令按钮(command)与命令按钮组(commandgroup)命令按钮和命令按钮组控件用于在表单上创建一个或一组命令按钮。命令按钮的常见属性如下表所示。属性功能Caption命令按钮的标题Name按钮的名称Enabled命令按钮是否可用Default按下enter键时,按钮是否响应Cancel按钮是否为取消按钮Picture命令按钮上显示图形命令按钮组的常见外观属性一般用生成器设置。此外,用命令按钮的value属性表示按钮中的哪个按钮被单击。有两种判断方法:若value初值为数值型(默认值为1),返回被单击的命令按钮的序列号:若value初值为“空”(字符型):返回被单击的命令按钮的caption属性。【例5-5】设计如下图所示的密码输入窗口,密码最多允许输入3次,假设正确密码为“123456”,密码错误给出提示。编写“确定”按钮及“取消”按钮的click事件
2、文本框(text) 文本框控件可用于字符型、数值型、日期型、逻辑性数据的输入和输出。常见属性如下 表所示。 属性 功能 Value 文本框的当前值 Readonly 文本框是否为只读 PasswordChar 文本框用作占位符的字符 3、 编辑框(edit) 编辑框控件用于文本数据的输入和编辑,允许自动换行,该控件常作为备注型字段的数 据绑定控件。 编辑框与文本框类似,差别主要有以下两点:一是编辑框只能用于输入或编辑字符型数 据,而文本框则适用于数值型、逻辑性、日期型和字符型 4 种类型的数据;二是文本框只能 供用户输入一行文本,而编辑框则能输入多行文本。 4、 命令按钮(command)与命令按钮组(commandgroup) 命令按钮和命令按钮组控件用于在表单上创建一个或一组命令按钮。命令按钮的常见属 性如下表所示。 属性 功能 Caption 命令按钮的标题 Name 按钮的名称 Enabled 命令按钮是否可用 Default 按下 enter 键时,按钮是否响应 Cancel 按钮是否为取消按钮 Picture 命令按钮上显示图形 命令按钮组的常见外观属性一般用生成器设置。此外,用命令按钮的 value 属性表示按 钮中的哪个按钮被单击。有两种判断方法:若 value 初值为数值型(默认值为 1),返回被 单击的命令按钮的序列号;若 value 初值为“空”(字符型),返回被单击的命令按钮的 caption 属性。 【例 5-5】设计如下图所示的密码输入窗口,密码最多允许输入 3 次,假设正确密码为 “123456”,密码错误给出提示。编写“确定”按钮及“取消”按钮的 click 事件。 属性 功能 Caption 标签上显示的文本 Backstyle 标签的背景是否透明 Autosize 根据标签内容自动调整控件大小 name 标签的名称 Fontsize 标签上显示文本的大小 forecolor 标签上显示文本的颜色

D回区Fornl:密码Textl:取消确定操作步骤如下:(1)创建一个表单,在其中添加一个标签(label1)、一个文本框(text1)和两个按钮控件(commandl、command2)。(2)各控件属性设置如下表所示。对象属性属性值说明Forml密码验证Caption表单的标题文本密码LabellCaption设置标签的显示文字*设置占位符Text1PasswordCharCommand1确定Caption设置命令按钮的标题文本取消Command2Caption(3)Forml的init事件代码:Publicn&存放输入密码的次数 N=1(4)command1的click事件代码:ifallt(thisform.textl.value)=='123456messagebox"欢迎使用本系统!!",48,"成功登录!!")elsen=n+1ifn>3messagebox("你已经输入三次错误用户名,系统拒绝你进入!!",48,"登录失败!!“)thisform.releaseelsemessagebox("密码错误!!",48,"重新输入!!")thisform.textl.value=""thisform.textl.setfocusendifendif(5)command2的click事件代码:Thisform.release【例5-6】设计如下图所示的表单,要求能根据选项按钮组选定的课程来显示该门课程的平均分
操作步骤如下: (1)创建一个表单,在其中添加一个标签(label1)、一个文本框(text1)和两个按钮 控件(command1、command2)。 (2)各控件属性设置如下表所示。 对象 属性 属性值 说明 Form1 Caption 密码验证 表单的标题文本 Label1 Caption 密码 设置标签的显示文字 Text1 PasswordChar * 设置占位符 Command1 Caption 确定 设置命令按钮的标题文本 Command2 Caption 取消 (3)Form1 的 init 事件代码: Public n &&存放输入密码的次数 N=1 (4)command1 的 click 事件代码: if allt(thisform.text1.value)=='123456' messagebox("欢迎使用本系统!!",48,"成功登录!!") else n=n+1 if n>3 messagebox("你已经输入三次错误用户名,系统拒绝你进入!!",48,"登录 失败!!") thisform.release else messagebox("密码错误!!",48,"重新输入!!") thisform.text1.value="" thisform.text1.setfocus endif endif (5)command2 的 click 事件代码: Thisform.release 【例 5-6】设计如下图所示的表单,要求能根据选项按钮组选定的课程来显示该门课程 的平均分

口回区MForl高等数学统计英语计算机基础C马哲计算机基础76.00操作步骤如下:(1)创建一个表单,在其中添加一个选项按钮组(optiongroupl)、一个命令按钮(command1)和一个标签(label1)控件,将xscj表加到表单的数据环境中。(2)控件属性设置如下表所示。对象属性说明属性值3ButtonCount设置选项按钮组按钮数目optiongroupl高等数学OptionlCaption第一个按钮的标题文本英语Option2CaptionCaptionOption3计算机基础马哲Option4Caption统计Command1CaptionLabellAutosize t.设置自动调整标签大小(3)command1的click事件代码:n=thisform.optiongroupl.valuedo casecase n=laverage高等数学toxm="高等数学“case n=2average英语tox="英语”case n=3average计算机基础toxm="计算机基础”otherwiseaverage马哲toxm-"马哲”endcthisform.labell.caption=m+str(x,6,2)5、复选框(check)复选框控件用来表示一个选项的选中和没选中两种状态。复选框也常与逻辑型字段绑定。主要属性value表示复选框状态,有三种值:为0或.F.表示未选定:为1或.T.表示选定:为2或.null.表示不可用。【例5-7】设计如下图所示的表单,复选框被选中,文本框可见,否则文本框不可见
操作步骤如下: (1)创建一个表单,在其中添加一个选项按钮组(optiongroup1)、一个命令按钮 (command1)和一个标签(label1)控件,将 xscj 表加到表单的数据环境中。 (2)控件属性设置如下表所示。 对象 属性 属性值 说明 optiongroup1 ButtonCount 3 设置选项按钮组按钮数目 Option1 Caption 高等数学 第一个按钮的标题文本 Option2 Caption 英语 Option3 Caption 计算机基础 Option4 Caption 马哲 Command1 Caption 统计 Label1 Autosize .t. 设置自动调整标签大小 (3)command1 的 click 事件代码: n=thisform.optiongroup1.value do case case n=1 average 高等数学 to x m="高等数学" case n=2 average 英语 to x m="英语" case n=3 average 计算机基础 to x m="计算机基础" otherwise average 马哲 to x m="马哲" endc thisform.label1.caption=m+str(x,6,2) 5、 复选框(check) 复选框控件用来表示一个选项的选中和没选中两种状态。复选框也常与逻辑型字段绑 定。主要属性 value 表示复选框状态,有三种值:为 0 或.F.表示未选定;为 1 或.T.表示选 定;为 2 或.null.表示不可用。 【例 5-7】设计如下图所示的表单,复选框被选中,文本框可见,否则文本框不可见

口D区MFornl复选框应用示例P文本框是否可见操作步骤如下:(1)创建一个表单,在其中添加一个文本框(text1)和一个复选框(check1)控件。(2)控件属性设置如下表所示。属性对象属性值说明TextlReadonly.t.设置文本框为只读Value复选框应用示例设置文本框内容ChecklCaption文本框是否可见设置复选框标题文本(3)主要控件的事件代码:checkl的click事件代码n=this.valueif n=0thisform.textl.visible=.f.elsethisform.textl.visible=.t.endif6、列表框(1ist)与组合框(combo)列表框与组合框大多数的属性和设计方法是一样的,它们都有一个供用户选项的列表,两者间的区别:一是列表框的列表项全部显示,组合框只显示一项,其他项要通过右端的下拉按钮才显示:二是组合框分为下拉组合框和下拉列表框两类,前者允许输入新数据项,而后者与列表框只能选取已有的数据项。【例5-8】设计如下图所示的表单,在组合框中选择一个学号,在列表框中显示其所学课程的成绩。口口区SForl请选择学号00002一姓名高数 英语计算机 马哲陈遥30.077.067.085.0操作步骤如下:(1)创建一个表单,在其中添加六个标签、一个组合框(combo1)和一个列表框(1ist1)控件。将表xsda.dbf和xscj.dbf添加到表单的数据环境中。(2)控件属性设置如下表所示
操作步骤如下: (1)创建一个表单,在其中添加一个文本框(text1)和一个复选框(check1)控件。 (2)控件属性设置如下表所示。 对象 属性 属性值 说明 Text1 Readonly .t. 设置文本框为只读 Value 复选框应用示例 设置文本框内容 Check1 Caption 文本框是否可见 设置复选框标题文本 (3)主要控件的事件代码: check1 的 click 事件代码: n=this.value if n=0 thisform.text1.visible=.f. else thisform.text1.visible=.t. endif 6、 列表框(list)与组合框(combo) 列表框与组合框大多数的属性和设计方法是一样的,它们都有一个供用户选项的列表, 两者间的区别:一是列表框的列表项全部显示,组合框只显示一项,其他项要通过右端的下 拉按钮才显示;二是组合框分为下拉组合框和下拉列表框两类,前者允许输入新数据项,而 后者与列表框只能选取已有的数据项。 【例 5-8】设计如下图所示的表单,在组合框中选择一个学号,在列表框中显示其所学 课程的成绩。 操作步骤如下: (1)创建一个表单,在其中添加六个标签、一个组合框(combo1)和一个列表框(list1) 控件。将表 xsda.dbf 和 xscj.dbf 添加到表单的数据环境中。 (2)控件属性设置如下表所示

对象属性属性值说明请选择学号LabellCaption姓名Labe12Caption高数Label3Caption英语Labe14Caption计算机Labe15Caption马哲Label6CaptionColumncount5Listl设置列表框列数Combo1的属性设置在生成器中完成,如下图所示。区组合框生成器1.列表项2.样式3.布局4.值组合框中添加什么项?先排个数据库或自由表,然后选定字段。用此填充列表():表或视图中的字段-数据库和表)可用字段(A)选定字段(S):姓国JXGL全学号-A性别XSDA出生日期TXSCJ是否团员XSKC籍贯简历公-I留片帮助(H)确定取消(3)主要控件的事件代码:combol的click事件代码:thisform.listl.rowsourcetype=3thisform.list1.rowsource="sele姓名,高等数学,英语,计算机基础,马哲from;xsda,xscjwherxsda.学号=xscj.学号and;xsda.学号=thisform.combol.value;into cursor fi"thisform.refresh【例5-9】设计如下图所示的表单,将1ist中选择的内容,移动到list2中。D回区Fornl从左边的列表框中选出省会城市移到右边杭州A国西安青岛沈阳深圳操作步骤如下:
对象 属性 属性值 说明 Label1 Caption 请选择学号 Label2 Caption 姓名 Label3 Caption 高数 Label4 Caption 英语 Label5 Caption 计算机 Label6 Caption 马哲 List1 Columncount 5 设置列表框列数 Combo1 的属性设置在生成器中完成,如下图所示。 (3)主要控件的事件代码: combo1 的 click 事件代码: thisform.list1.rowsourcetype=3 thisform.list1.rowsource="sele 姓名,高等数学,英语,计算机基础,马哲 from ; xsda,xscj wher xsda.学号=xscj.学号 and ;xsda.学号=thisform.combo1.value; into cursor f1" thisform.refresh 【例 5-9】设计如下图所示的表单,将 list1 中选择的内容,移动到 list2 中。 操作步骤如下:

(1)创建一个表单,在其中添加一个标签控件(label1)、一个命令按钮(command1)控件和两个列表框控件(1ist1,1ist2)(2)各控件属性设置如下表所示。对象属性属性值LabellCaption从左边的列表框中选出省会城市移到右边Command1Pictured:/vfp98/wizards|wizbmps/wznext.bmp(3)主要控件的事件代码:forml的init事件代码:thisform.listl.additem("杭州")thisform.listl.additem("西安")thisform.listl.additem("青岛")thisform.listl.additem("沈阳")thisform.listl.additem("深圳")commandl的click事件代码:for i=lto thisform.listl.listcountif thisform.listl.selected(i)thisform.list2.additem(thisform.listl.list(i))thisform.listl.removeitem(i)endifnext7、微调控件(spinner)微调控件用于指定范围内数值型数据的输入,它既可用键盘输入,也可单击控件的上、下箭头按钮来增减其当前值。属性功能Value微调控件当前值单击一次箭头按钮的增减值,默认为1.00Increment键盘输入数值的上限KeyBoardHighValueKeyBoardLowValue键盘输入数值的下限SpinnerHighValue上下箭头按钮输入的上限SpinnerLowValue上下箭头按钮输入的下限事件功能UpClick单击微调控件向上按钮时触发的事件单击微调控件向下按钮时触发的事件DownClick【例5-10】设计一个如下图所示的表单,要求通过微调按钮设置文本框中的文字的字号大小,文字不能小于9磅,不超过36磅,每次文字改变的大小为3磅。Fornl口回区241程序设计操作步骤如下:(1)创建一个表单,在其中添加一个标签(label1)和一个微调控件(spinner1)
(1)创建一个表单,在其中添加一个标签控件(label1)、一个命令按钮(command1) 控件和两个列表框控件(list1,list2) (2)各控件属性设置如下表所示。 对象 属性 属性值 Label1 Caption 从左边的列表框中选出省会城市移到右边 Command1 Picture d:\vfp98\wizards\wizbmps\wznext.bmp (3)主要控件的事件代码: form1 的 init 事件代码: thisform.list1.additem("杭州") thisform.list1.additem("西安") thisform.list1.additem("青岛") thisform.list1.additem("沈阳") thisform.list1.additem("深圳") command1 的 click 事件代码: for i=1 to thisform.list1.listcount if thisform.list1.selected(i) thisform.list2.additem(thisform.list1.list(i)) thisform.list1.removeitem(i) endif next 7、 微调控件(spinner) 微调控件用于指定范围内数值型数据的输入,它既可用键盘输入,也可单击控件的上、 下箭头按钮来增减其当前值。 属性 功能 Value 微调控件当前值 Increment 单击一次箭头按钮的增减值,默认为 1.00 KeyBoardHighValue 键盘输入数值的上限 KeyBoardLowValue 键盘输入数值的下限 SpinnerHighValue 上下箭头按钮输入的上限 SpinnerLowValue 上下箭头按钮输入的下限 事件 功能 UpClick 单击微调控件向上按钮时触发的事件 DownClick 单击微调控件向下按钮时触发的事件 【例 5-10】设计一个如下图所示的表单,要求通过微调按钮设置文本框中的文字的字 号大小,文字不能小于 9 磅,不超过 36 磅,每次文字改变的大小为 3 磅。 操作步骤如下: (1)创建一个表单,在其中添加一个标签(label1)和一个微调控件(spinner1)
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 铜陵学院数学与计算机学院:《数据库原理及应用》课程教学资源(教案讲义)第4章 结构化程序设计.doc
- 铜陵学院数学与计算机学院:《数据库原理及应用》课程教学资源(教案讲义)第3章 数据库及其操作.doc
- 铜陵学院数学与计算机学院:《数据库原理及应用》课程教学资源(教案讲义)第2章 数据与数据运算.doc
- 铜陵学院数学与计算机学院:《数据库原理及应用》课程教学资源(教案讲义)第1章 数据库基础知识.doc
- 铜陵学院数学与计算机学院:《数据库原理及应用》课程教学资源(教案讲义)第10章 综合应用系统的开发.doc
- 铜陵学院数学与计算机学院:《数据库原理及应用》课程教学资源(PPT课件)第8章 菜单.ppt
- 铜陵学院数学与计算机学院:《数据库原理及应用》课程教学资源(PPT课件)第5章 表单.ppt
- 铜陵学院数学与计算机学院:《数据库原理及应用》课程教学资源(PPT课件)第9章 报表和标签.ppt
- 铜陵学院数学与计算机学院:《数据库原理及应用》课程教学资源(PPT课件)第7章 查询与视图.ppt
- 铜陵学院数学与计算机学院:《数据库原理及应用》课程教学资源(PPT课件)第6章 SQL语言.ppt
- 铜陵学院数学与计算机学院:《数据库原理及应用》课程教学资源(PPT课件)第4章 结构化程序设计.ppt
- 铜陵学院数学与计算机学院:《数据库原理及应用》课程教学资源(PPT课件)第3章 数据库及其操作.ppt
- 铜陵学院数学与计算机学院:《数据库原理及应用》课程教学资源(PPT课件)第2章 数据与数据运算.ppt
- 铜陵学院数学与计算机学院:《数据库原理及应用》课程教学资源(PPT课件)第1章 数据库基础知识.ppt
- 铜陵学院数学与计算机学院:《数据库原理及应用》课程教学资源(PPT课件)第10章 综合应用系统的开发.ppt
- 铜陵学院数学与计算机学院:《数据库原理及应用》课程综合性实验项目教学大纲.doc
- 铜陵学院数学与计算机学院:《数据库原理及应用》实验课程教学大纲.doc
- 铜陵学院数学与计算机学院:《数据库原理及应用》课程教学大纲 Principles of database and application.doc
- 铜陵学院数学与计算机学院:《微积分》理论课程教学大纲 Infinitesimal Calculus.doc
- 铜陵学院数学与计算机学院:工科本科《高等数学》课程教学大纲 Higher mathematics.doc
- 铜陵学院数学与计算机学院:《数据库原理及应用》课程教学资源(教案讲义)第6章 SQL语言.doc
- 铜陵学院数学与计算机学院:《数据库原理及应用》课程教学资源(教案讲义)第7章 查询与视图.doc
- 铜陵学院数学与计算机学院:《数据库原理及应用》课程教学资源(教案讲义)第8章 菜单.doc
- 铜陵学院数学与计算机学院:《数据库原理及应用》课程教学资源(教案讲义)第9章 报表和标签.doc
- 铜陵学院数学与计算机学院:《数据库原理及应用》课程教学资源(试卷习题)VFP程序设计复习题集及答案.doc
- 铜陵学院数学与计算机学院:《数据库原理及应用》课程教学资源(试卷习题)2009年3月全国计算机等级考试二级VFP笔试真题及答案.doc
- 铜陵学院数学与计算机学院:《数据库原理及应用》课程教学资源(试卷习题)2009年9月全国计算机等级考试二级VF笔试真题及答案.doc
- 铜陵学院数学与计算机学院:《数据库原理及应用》课程教学资源(试卷习题)2010年3月全国计算机等级考试二级真题-VFP.doc
- 铜陵学院数学与计算机学院:《数据库原理及应用》课程教学资源(试卷习题)2010年9月全国计算等级考试二级VFP笔试试题及答案.doc
- 铜陵学院数学与计算机学院:《数据库原理及应用》课程教学资源(试卷习题)2011年3月全国计算机等级考试二级VFP笔试试题.doc
- 长春大学:《高等数学》课程教学资源(授课教案)微积分教案(任课教师:王羽).doc
- 长春大学:《高等数学》课程教学资源(授课教案)微积分教案(任课教师:肖桂荣).doc
- 长春大学:《高等数学》课程教学资源(授课教案)概率论与数理统计教案(任课教师:朱天晓).doc
- 长春大学:《高等数学》课程教学资源(授课教案)概率论与数理统计教案(任课教师:许莹).doc
- 长春大学:《高等数学》课程教学资源(授课教案)线性代数教案(任课教师:朱天晓).doc
- 长春大学:《高等数学》课程教学资源(授课教案)线性代数教案(任课教师:许莹).doc
- 长春大学:《高等数学》课程教学大纲.doc
- 长春大学:《高等数学》课程作业习题(概率论与数理统计)第一章 随机事件及其概率总习题、自测题及其详解.docx
- 长春大学:《高等数学》课程作业习题(概率论与数理统计)第二章 随机变量及其分布总习题、自测题及其详解.docx
- 长春大学:《高等数学》课程作业习题(概率论与数理统计)第四章 随机变量的数字特征与极限定理总习题与详解.docx
