Visual FoxPro 8.0实用教程_第10章_表单的创建和应用
VFP表单设计与应用

VFP表单设计与应用第九章 VFP表单设计与应用大纲要求使用表单设计器:(1)在表单中加入和修改控件对象。
(2)设定数据环境。
知识要点1.表单表单(Form)就是一个输入或显示某种信息的界面(窗口),是Visual FoxPro提供的用于建立应用程序界面的工具之一。
被大量应用于人机交互界面的设计当中。
应用表单设计功能,可以设计出具有Windows风格的各种程序界面。
由于表单使用非常频繁,所以在VFP中,专门提供了一个表单设计器来设计表单程序。
表单是一个容器,除含有窗口的标准控件标题栏、控制按钮外,可以向表单中添加各种对象,如按钮、文本框、表格、图片等。
在表单设计器环境下可以进行添加、删除及布局控件的操作。
2.对象对象(Object)是反映客观事物属性及行为特征的描述。
客观世界里的任何实体都可以被看作是对象。
对象可以是具体的物,也可以指某些概念。
从编程的角度来看,对象是一种将数据和操作过程结合在一起的数据结构,或者是一种具有属性(数据)和方法(过程和函数)的集合体。
事实上程序中的对象就是对客观世界中对象的一种抽象描述。
每个对象都具有描述其特征的属性,及附属于它的行为。
对象把事物的属性和行为封装在一起,是一个动态的概念。
对象是面向对象编程的基本元素,是“类”的具体实例。
3)类的四大特征§继承性--说明了子类延用父类特征的能力;§多态性--指一些关联的类包含同名的方法程序,但方法程序的内容可以不同,具体调用在运行时根据对象的类确定;§封装性--说明包含和隐藏对象信息,如内部数据结构和代码的能力;§抽象性--指提取一个类或对象与众不同的特征,而不对该类的所有信息进行处理。
4.子类与继承在面向对象的方法里,继承是指在基于现有的类创建新类时,新类继承了现有类里的方法和属性。
此外,可以为新类添加新的方法和属性。
我们把新类称为现有类的子类,而把现有类称为新类的父类。
一个子类的成员一般包括:(1)从其父类继承的属性和方法。
第10章+菜单设计

⒋ 保存菜单定义
选择“ 文件” 菜单中的“ 保存” 命令或按CTRL+W组 选择 “ 文件 ” 菜单中的 “ 保存 ” 命令或按 组 合键,将菜单定义保存在 菜单文件和.mnt备注文件中。 备注文件中。 合键,将菜单定义保存在.mnx菜单文件和 菜单文件和 备注文件中
Visual FoxPro 数据库基础及应用
Visual FoxPro 数据库基础及应用
菜单的基本结构
VFP支持两种类型的菜单:条形菜单和弹出式菜单。利用 支持两种类型的菜单:条形菜单和弹出式菜单。 支持两种类型的菜单 这两种基本类型的菜单可以构造应用程序中常见的下拉式菜单 和快捷菜单。 和快捷菜单。
⒈ 条形菜单
条形菜单是由若干个水平排列的菜单项组成的菜单栏, 条形菜单是由若干个水平排列的菜单项组成的菜单栏 , 通常布置在屏幕或顶层表单的上部。 通常布置在屏幕或顶层表单的上部。
Visual FoxPro 数据库基础及应用
创建菜单系统的步骤
Visual FoxPro 数据库基础及应用
⒈ 规划菜单系统
规划菜单系统就是根据用户需要执行的任务, 规划菜单系统就是根据用户需要执行的任务 , 确定需 要哪些菜单, 是否需要子菜单, 每个菜单项完成什么功能, 要哪些菜单 , 是否需要子菜单 , 每个菜单项完成什么功能 , 以及每个菜单安排在什么位置等。 以及每个菜单安排在什么位置等。
⒌ 生成菜单程序
菜单的定义保存在菜单定义文件中, 菜单的定义保存在菜单定义文件中,但由于该文件是个表 文件,不能直接运行,需要利用菜单定义文件生成扩展名 的可执行菜单程序文件。 为.mpr的可执行菜单程序文件。 的可执行菜单程序文件 生成菜单程序文件的方法:在菜单设计器环境下,选择“菜单” 生成菜单程序文件的方法:在菜单设计器环境下,选择“菜单” 菜单里的“生成”命令,然后在“生成菜单” 菜单里的“生成”命令,然后在“生成菜单”对话框中输入菜 单程序文件名以及存储路径并单击“生成”按钮。 单程序文件名以及存储路径并单击“生成”按钮。
VFP课程(8)

33
编辑事件和方法代码
• 事件既可以是用户行为,也可以是系统 行为。
• 方法只能通过程序以特定的方式激活。 • 代码编辑窗口
– 显示代码 – 从“属性”窗口打开 – 双击对象
已与编号字段相关联。
接着,我们为Text1对象增加说明文字。在“表单控制”
工具栏上单击“标签”图形按钮,采用与前面相似的方法在表
单的Text1对象前建立一个名为“Label1”的标签对象。在属
性窗口的“布局”选项卡中,修改它的“Caption”属性为“编
号”,在“AutoSize”上双击以设定这个属性为.T.,修改
两个表之间一定要存在关系,生成的表单中的记录定 位按钮只作用于父表,子表记录可通过窗口操作控制。
2、表单设计器: “文件”-“新建”-“表单”,“新建文 件”
3、快速表单:“表单”-“快速表单”
4、编程方法
7
表单设计器
• 使用“表单设计器”能够可视化地创建、修改表单和表单 集。
• 打开表单设计器:
命令方式:CREATE FORM
MODIFY FORM
界面方式打开。
• 表单设计器窗口及相关工具窗口:
表单控件工具栏
布局工具栏
调色板工具栏
属性窗口
环境设置
8
表单设计器及相关工具窗口
9
创建第一个表单——浏览sb.dbf
一、创建表单 • 打开表单设计器,VFP自动创建一个默认名为“Form1”
的表单对象。
Visual FoxPro 及其应用系统开发(八)
南昌工程学院 计算机科学与技术系 刘东晓
1
表单和控件
• 表单(Form):是一个容器类,由一个或多个 页面组成,每个页面又可包含多个控件对象。
第10讲 Visual Foxpro表单设计与应用

4、运行表单 (1)、所谓运行表单:就是根据表单文件及表单备注文件的内容产生 表单对象。 (2)、运行表单的方法: A、“项目管理器”窗口/“文档”选项卡→“运行”按钮 B、“表单设计器”环境 →“表单”菜单、快捷菜单/“执行表单”命令 →“常用”工具栏按钮 C、“程序”菜单/“运行”命令→打开“运行”对话框→选择表单运行 D、“命令”窗口→输入命令: DO FORM <表单文件名> [NAME <变量名>] WITH <实参1> [,<实参2>,…] [LINKED] [NOSHOW] E、在表单设计器中使用键盘快捷键 CTRL+E 注意: 注意:表单运行后,可以单击标准工具栏上的“修改表单”按钮,切换 到“表单设计器”环境,使表单进入设计方式。
2、类(Class):面向对象的程序设计是一种封装代码,代码可重用性和可维护性都 较好,其中最基本的封装代码称为类,类是对一类相似对象的性质描述,同类 对象具有相同的性质——相同种类的属性以及方法。 3、对象与类:所有对象的属性、事件和方法程序在定义类时被指定。 (1)、类的类型:基类、子类、用户自定义类、容器类、库类。 a、基类(Base Class):是Visual FoxPro预先定义的类。 基类都有自己的一套属性、方法、事件。 b、子类(Subclass):是指以某个类的定义为基础创建的新类,子类 所基于的类称为父类。 子类将继承父类的全部特征,包括对父类所做的任何修改。 c、用户自定义类(User-define Class):用户可以从基类派生出子类 ,即用户自定义类。 用户可以为用户自定义类设置属性、编写代码、方法程序,也 可创建新的属性和方法程序。也可添加到表单控件工具栏中。 d、容器类(Container Classes)、控件类(Control Classes): 类也可分为容器类和控件类。 主讲:黄威 QQ:951691824 生成的对象也可分为容器对象和控件对象 e、类库(Class Library):类库可用来存储以可视方式设计的类,其文
vfp表的创建和使用

Visual FoxPro
讲授 钟 丹
第 三 章
表的创建和使用 一
一、表 的 创 建
对于关系数据库来说,数据全部是以二维表的形 式保存的,VFP的表分为:数据库表和自由表
表的概念: VFP中的表是指存储在磁盘文件中的一 张二维表。一张表保存为一个表文件(.dbf)表有时 也称数据表。表文件的文件名必须遵守VFP系统命名 的规则外,不可用A-J中的单个字母名做文件名 表中的列称为字段(Field),字段规定了数据的特征, 每张表最多可以有255个字段 表中的行称为记录(Record),每一条记录表示一个 实体,记录是多个字段的集合
1. 2. 生成一张新表,与原表的区别仅在于记录的物理顺序 生成一张逻辑顺序与原表物理顺序的对照表,称为索引法
索引法的优点:P96 三点,这也是我们在关系数据 库中普遍采用索引法的原因
1. 索引概述
1. 索引定义(index):索引是根据索引关键字(即索引表
达式)的值进行逻辑排序的一组指针,它提供了对数据的快 速访问,且可以对表中的各条记录强制实现唯一性。索引文 件由索引序号和对应于索引序号的表的记录号(记录指针) 组成
修改:
1. 2. 1. 2. 用“表设计器”进行修改 用命令index on重新建立同标识名的索引覆盖前面的索引 用“表设计器”删除 用DELETE TAG 索引名1,名2…或DELETE TAG ALL
删除:
利用索引快速定位记录:
Seek 指定表达式值 [order 索引名[ascending|descending]][in 工作 区号|工作区别名]
表的独占和共享 (默认为独占方式)
Visual FoxPro第10章

7
10.3.2 表单中的对象
1.表单控件工具栏控件按钮清单
8 8
2.表单对象的引用格式
引用格式是“父对象名.对象名” 相对引用: Thisformset 表示当前表单集 Thisform 表示当前表单 This 表示当前对象 绝对引用:直接使用对象名 例:表单上有文本框text1,设计其字号 为20磅。 Thisform.text1.fontsize=20 其中: Thisform是相对引用;text1是绝对引用。
23
(3)各命令按钮的事件代码如下: 1)Command1(首记录)的Click事件代码: go top thisform.refresh 2)Command2(末记录)的Click事件代码: go bottom thisform.refresh 3)Command3(上一条)的Click事件代码: if !bof() skip -1 thisform.refresh endif 4)Command4(下一条)的Click事件代码: if !eof() skip 1 thisform.refresh endif 5)Command5(退出)的Click事件代码: thisform.release 图10-20命令按钮的设计 该表单运行后用击命令按钮上下翻动记录和释放表单。 注意:凡是有指针移动(Go、Skip),表单应当刷新(Thisform.Refresh),以保持显示的数据与记录 指针同步
2
10.2.1 表单向导的启动
表单向导方法: ( 1)“文件”菜单:选“文件”菜单→击“新建”命令→选“表 单”→击“向导”按钮 (2)“工具”菜单:选“工具”菜单→击“向导”命令→选“表 单” (3)项目管理器:打开项目管理器窗口→选“文档”选项卡→选 “表单” →击“新建”按钮→在弹出的对话框中选“表单向导 ”按钮
VFP8

• 7、表单的保存和运行
– 1、表单的保存
• 可用多种方法保存表单,也可使用“另存为类”
– 2、表单的运行
• 使用“运行”按钮
• 命令:DO FORM 表单名
• 8.1.3 利用表单生成器创建快速表单
– “表单”菜单——―快速表单”命令 – 或 用“表单生成器”按钮创建表单 – 注:表单生成器创建的表单无定位按钮。
– 例4:Activate事件
• 当激活表单、表单集、页对象或显示工具栏时,将发 生此事件。
– 例5:Interactivechange 事件
• 在使用键盘或鼠标更改控件的值时发生。应用于复选框、 组合框、命令组、编辑框、列表框、微调、文本框。
– 例6:When事件、 Valid事件
• When事件:在控件接收焦点之前发生。 • Valid事件:在控件失去焦点之前发生。
• 三、对象的方法
– 方法:是对象能够执行的一个操作。方法是完成某种 操作的处理代码,又称为方法程序。它与对象相联。 – 语法: 引用对象.方法程序 – 例:在命令按钮的Click事件中调用表单的Release方法 来关闭表单,并将焦点设置在文本框Text1上:
Thisform.Release Thisform. Text1.SetFocus
指定一个属性设置
– Box方法:在表单对象上画矩形 – Circle方法:在表单上画圆或椭圆
– Cls方法:清除运行期间表单中的图形和文本
– Clear方法:清除组合框或列表框控件中的内容
§8.4 添加属性和方法程序
• 一、添加新属性
– 在表单设计器环境中,选“表单”菜单中的 “新建属性”命令
• 二、创建新方法程序
•Init事件:在 创建对象时发生,且容器对象的Init事
数据库软件Visual Foxpro课件第十章 表单设计

2021/8/5
18
12 图像(Image) 12.1 在表单中显示图片 12.2 主要属性 12.2.1 Picture:设置显示的图形文件或字段 12.2.2 Stretch:图片的显示方式 例10-13:设计一个图片封面表单
13 表格(Grid)
13.1 将数据以表格形式表示出来,主要用于显示表中的字段 13.2 表格控件的组成
2021/8/5
13
8 列表框(ListBox) 8.1 用于显示供用户选择的列表项 8.2 主要属性 8.2.1 RowSource:列表框数据的来源 8.2.2 RowSourceType:列表框数据源的类型 8.2.3 Listindex:返回或设置组合框(列表框)列表选定 项的顺序号 8.2.4 List:用于读取列表框对象中的选择项 8.3 主要方法 Additem:在列表框中添加新数据项 Removeitem:在列表框中删除选中的数据项
值为1时,则第一个页面处于被选中状态;依次类推
2021/8/5
21
例10-15:设计一个数据表查询表单
15 命令按钮组(CommandGroup) 15.1 把一些命令按钮组合在一起,作为一个控件管理 15.2 主要属性 ButtonCount:命令按钮数
2021/8/5
22
例16:设计一个学生数据操作表单
10.3 主要事件 10.3.1 DownClick事件:单击微调控件的向下按钮时发生 10.3.2 UpClick事件:单击微调控件的向上按钮时发生
2021/8/5
16
10.4 主要方法程序 10.4.1 DownClick事件过程:当DownClick事件被触发时就
VFP数据库与表的创建及使用

2019/1/27 3
3.1.2 数据库的组成 1. 表(Table) 属于某一数据库的表称为“数据库表”。与自由 表相比,数据库表具有许多扩展功能和管理特性。 表与数据库之间的相关性是通过表文件与库文件 之间的双向链接(前链和后链)实现的。前链是保存 在数据库文件中的表文件的路径和文件名信息;后链 是存放在表文件中的数据库文件的路径和文件名信息。
2019/1/27 6
在VFP中,每创建一个数据库都将在磁盘上产生 三个文件:数据库文件(.dbc)、关联的数据库备注 文件(.dct)、关联的数据库索引文件(.dcx)。
3.2.1 数据库的创建
界面操作方式创建数据库
◦ 用项目管理器创建 ◦ 用菜单命令或工具栏创建
命令方式创建数据库
◦ CREATE DATABASE [DatabaseName|?]
数据库设计器与“数据库”菜单
2019/1/27 7
3.2.2 数据库的打开与关闭
1. 打开数据库 →使用数据库前必须打开数据库 新建的数据库,保存后自动以独占方式打开; 打开数据库中的表,系统会自动打开相应的数据库; 在项目管理器中选择一个数据库并单击“修改”按钮 ; OPEN DATABASE [DatabaseName] [EXCLUSIVE|SHARED][NOUPDATE][VALIDATE] 打开多个数据库可重复进行数据库打开操作即可,系 统默认最后一个打开的数据库为当前数据库。 根据需要可用SET DATABASE TO命令将另一个被打 开的数据库设为当前数据库或在“常用”工具栏“数 据库”下拉列表中选择一个已打开的数据库作为当前 数据库。
2019/1/27 11
Visual FoxPro 表单设计 ppt课件

2021/3/26
Visual FoxPro 表单设计 ppt课件
19
Visual FoxPro 表单设计
1.表单设计器的启动 2.表单设计器工具栏 3.向表单中添加对象 4.对象的引用 5.设置对象的属性 6.编辑对象的事件代码
2021/3/26
Visual FoxPro 表单设计 ppt课件
20
2021/3/26
Visual FoxPro 表单设计 ppt课件
7
Visual FoxPro 表单设计
• 在Visual FoxPro 6.0中,创建表单有以下三种方式: (1)可以直接利用表单向导创建表单; (2)利用表单设计器创建表单; (3)通过“表单”菜单中的“快速菜单”来添加表单控件和定
2021/3/26
Visual FoxPro 表单设计 ppt课件
1
Visual FoxPro 表单设计
本章主要内容: l 如何创建表单 l 对象的属性、事件和方法 l 表单控件
我们来学习表单设计!
2021/3/26
Visual FoxPro 表单设计 ppt课件
2
Visual FoxPro 表单设计
通过学习本章内容,您能够做到: • 学会使用表单向导和表单设计器创建表单 • 掌握类和对象及对象的属性、事件和方法等概念 • 掌握VFP中各类控件的特点和性能,学会在表单中
设计控件 • 学会在表单中编写事件代码 • 能够独立编制出完整的表单
2021/3/26
Visual FoxPro 表单设计 ppt课件
表单控 件工具
栏
布局工 具栏
自动 格式
数据 环境
代码 窗口
调色板 工具栏
表单生 成器
新手教程:教你用VisualFoxPro建立一张表-电脑资料

新手教程:教你用VisualFoxPro建立一张表-电脑资料1、VFP能做什么在日常的工作、生活中,我们要和很多数据打交道,。
比如我们每个月领的工资条,里面有姓名、部门、基本工资、奖金、扣款等数据。
下载地址:Visual FoxPro再比如我们在图书馆借书,借书证号码、借书日期、书的名字等,又是一大堆数据。
现在我们都是用计算机来管理这些数据。
这么多数据,计算机是怎么记住的呢?怎样才能准确地查到这些信息呢?告诉你,这些数据都存放在数据库里面,数据的查询和管理也是靠数据库来完成的。
什么是数据库呢?简单地理解,“数据库”就是按一定规律组织起来,保存在计算机中的数据集合。
比如这个工资表,它存放在数据库中是这样的,很有规律,这一列是职工的姓名,这一列是职工的基本工资;再看,这一行是赵宏工资条上的内容,这一行是王珊工资条上的内容。
原来数据库是这样的!那我们生活中是不是有很多这样的例子呢?比如我们的通讯录,上面记着同事或朋友的姓名、工作单位、电话、邮编等数据,这也能组成一个数据库。
好,知道了什么是数据库,接下来看学习了数据库有什么好处。
还以这个工资表为例,借助数据库,我们可以很方便地管理这些数据,比如,可以统计出工资超过1000元的所有职工,还可以列出“生产”部门所有人员的工资表,或者可以自动将每名职工的基本工资涨上100元,甚至可以自动从每个人的工资中扣除个人所得税。
既然数据库有这么强大的功能,你是不是也想学一学?不要认为数据库很高深,其实学起来是很容易的。
我们这里主要讲解Visual FoxPro 6.0中文版的使用,通过学习,掌握数据库的一些基本知识,如表的建立,表与表之间的关系,数据的索引和查询,表单和报表的建立等。
Visual FoxPro简称VFP,是Microsoft公司推出的新版数据库开发软件,用它来开发数据库,既简单又方便,下面我们就一起学习一下,电脑资料《新手教程:教你用Visual FoxPro建立一张表》(https://)。
VFP表单的设计和运用

bel1.Visible=.t.
this.Caption="隐藏"
else
bel1.visible=.f. this.caption="显示"
Endif
注意:这里的Myform1是表单的文件名:myform1.scx 5、设计command2的click事件代码:(退出)
第八章 表单设计与应用
本章基本内容 8.1 面向对象的概念 8.2 Visual Foxpro基类简介 8.3 创建与管理表单 8.4 表单设计器 8.5 常用表单控件
1
面向对象的概念
(一)对象(Object) 1.什么是对象:所谓对象可以是任何的具体实体 2.对象的分类:对象分为容器对象和简单对象 3.对象的名称:每个对象都有一个名字,称为对象名 4.对象的引用
form2.Image2.Visible=.f. form2.Image1.Visible=.t. bel1.Caption="圆“ 6、 设计command2的click事件代码(显示)为: form2.Image1.Visible=.f. form2.Image2.Visible=.t. bel1.Caption="方框“ 7、设计command3的click事件代码:(退出) release thisform 8、运行时发现:当按下圆时,显示出圆形图案
右键单击
表单事件
Load Unload Resize
Activate
创建表单 关闭表单 改变大小
激活表单
键盘事件 KeyPress 按键盘键
Deactivate 非激活状态
Gotfocus 得到焦点
VF表、查询和表单的操作步骤

1用“表向导”创建表的操作步骤:1).选择【文件】| 【新建】,打开“新建”对话框,在“文件类型”中选【表】|【向导】,打开,打开“表向导”对话框。
2)进入【表向导】步骤“1字段选取框”中,在“样表”中选表,若无表可选可用【加入】按钮将需要的表加到样表列表框中;从“可用字段”中将需要的字段移到“选定字段”列表框中。
3)单击“下一步”,进入【表向导】步骤“1a选数据库”3)单击“下一步”,进入步骤“2修改字段设置”,此时可对所在创建的表字段定义进行修改4)单击“下一步”,进入步骤“3为表建索引”,为表选出关键字和索引字段5) 单击“下一步”,进入步骤“4完成”,选择一种保存表的选项,单击“完成”按钮,打开“另存”对话框,选定保存位置,输入表文件名。
此时完成了用向导创建表的过程。
2.使用“查询向导”创建查询的操作步骤:1〉进入“查询向导”,在“项目管理器”中,选择“数据”选项卡,选中“查询”,单击“新建”按钮,出现“新建查询”对话框,单击“查询向导”按钮,打开“向导选取”对话框。
2〉在“向导选取”对话框中,选择“查询向导”,再单击“确定”按钮,出现“字段选取”对话框3〉在“字段选取”对话框中,选择查询结果中需要的字段。
单击“下一步”按钮,出现“筛选记录”对话框。
4〉在“筛选记录”对话框中,设置查询条件。
条件输入结束后,单击“下一步”按钮,出现“排序记录”对话框。
5〉在“排序记录”对话框中,选择排序字段。
单击“下一步”按钮,出现“限制记录”对话框。
6〉在“限制记录”对话框中,确定查询结果中所包含的记录数。
限制记录结束后,单击“下一步”按钮,出现“完成”对话框。
7〉在“完成”对话框中选择保存查询设置的类型,保存查询。
3用“表设计器”创建表的操作步骤:1) 指定表名及保存位置。
选定【文件】菜单|【新建】按钮打开“新建“对话框,在“新建”对话框文件类型中,选【表】| 【新建文件】,打开“创建”对话框,选定保存位置,输入表文件名,可以不输入扩展名,系统会自动加上扩展名.dbf,单击“保存”按钮。
Visual FoxPro程序设计基础第10章表单的设计与应用

•
在本例中,选择“阴影式”和“文本 按钮”选项,如图10.13所示。 单击“下一步”按钮。
•
图10.13 步骤4-选择表单样式
•
(6)打开“步骤5-排序次序”对话框, 从中选择排序记录的字段或索引标识。
•
在本例中选择按“学号”升序排列, 如图10.14所示。 设置完成后单击“下一步”按钮。
•
图10.14 步骤5-排序次序
•
(7)打开“步骤6-完成”对话框,从 中输入表单的标题。
•
在本例中,输入“学生选课情况”, 并选中“保存并运行表单”单选按钮,如 图10.15所示。
图10.15 步骤6-完成
•
然后单击“预览”按钮,便可以查看 运行的效果,最后单击“完成”按钮,在 弹出的“另存为”对话框中,输入表单文 件的名称,并选择相应文件的保存路径。 表单的运行效果如图10.16所示。
•
(6)在弹出的“另存为”对话框中, 输入表单的名称。
•
在本例中输入表单名称为“教师信息表”, 并选择相应的表单文件保存路径,设置完成 后单击“保存”按钮,如图10.8所示。 保存后的表单文件将立即被运行,其运行 .8 保存表单文件
图10.9 表单运行效果
2.创建一对多关系表单
10.1.1
• •
使用表单向导创建表单
打开“向导选取”窗口的方式有以下3种。
(1)打开项目管理器,选择“全部”选 项卡,从列表框中选择“文档”/“表单” 命令,再单击“新建”按钮,然后在弹出的 “新建表单”对话框中选择“表单向导”图 片按钮,如图10.1所示。
图10.1 利用项目管理器打开表单向导
•
在本例中,选择“学生表”为父表,然 后在“可用字段”列表框中选择“学号”、 “姓名”、“性别”、“出生日期”等字段, 添加到“选定字段”列表框中,单击“下一 步”按钮。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
图 10.30 添加两个按钮
3.使用扩展类的步骤如下: (1)创建新表单。 (2)在“表单控件”工具栏中单击“查看类”按钮,从其快捷菜 单中选择“添加”命令,在“打开”对话框中选择自建的类 库文件,例如“myClass.vcx”。 (3)打开自己的类库文件后,“表单控件”工具栏中将显示自己 已经创建的控件类,如图10.31所示。 (4)选择“mycmdset”,在表单中单击左键添加自定义的命令按 钮组。
图 10.29 另存为类对话框
2.修改自定义的扩展类 (1)在项目管理器中选择“类”选项卡,其中可以看见自定义的 类库“myClass”及其列表项,双击要修改的对象,或者单击 “修改”按钮,进入“类设计器”中。 (2)在“类设计器”中首先删除“cmdset”对象的“Init”和 “Refresh”代码。 (3)选中“cmdset”对象,把“ButtonCount”属性设为“10”,调 整控件布局,将两个新增按钮的“name”属性分别设为 “cmdFind”和“cmdPrint”,“Caption”属性分别设为“查 找(\<F)”和“打印(\<P)”,并调整大小与“cmdAdd”按钮一 样。完成后如图10.30所示。 (4)保存当前类。
创建自己的扩展类
在“系部信息管理”表单中,我们设计了自己的控制按钮组, 这种按钮组是一种通用控制对象,在很多数据表单中都可能用 到,所以我们可以考虑将其创建为自己的扩展类,以在其他单 中使用。
1.具体创建类的步骤如下: (1)在表单设计器中打开“系部信息管理”表单,选中“命令按 钮组”。 (2)从“文件”菜单下选择“另存为类”命令,打开“另存为类” 对话框,在其中输入“类名”、“类库”文件名和“说明”信 息,并在“保存”选项中选择“选定控件”(如图10.29所示), 然后单击“确定”按钮。
数据库技术及应用
教材:《Visual FoxPro 8.0实用教程》 谢维成 陈永强 郑海春 编著 清华大学出版社
第10章 表单的创建和应用
10.1 表单中类和容器的层次关系
10.2 表单设计器及其应用
10.3 表单中常用对象、属性、事件和方法 10.4 为应用程序创建欢迎界面 10.5 为应用程序创建课程信息管理界面 10.6 为应用程序创建系部信息管理界面 10.7 为应用程序创建专业信息管理界面 10.8 为应用程序创建学生信息管理表单 10.9 为应用程序创建学生成绩登记表单
2.使用WITH„ENDWITH语法结构设置一个对象的多 个属性。 【例如】同样设置文本框的上述4个属性,可以使 用如下语句: WITH This.Text1 Enabled = .T. Value = DATE() ForeColor = RGB(0,0,0) BackColor = RGB(128,128,128) ENDWITH
在表单中设置对象属性
格式: Container.Object.Property=Value(容器.对象.属性=值) 使用代码设置对象属性一般可分为三种情况。 1.一条语句设置一个对象的一个属性。 【例如】在图10.1所示结构的表单事件中设置文本框Text1的相 关属性: This.Text1.Enabled = .T. && 控件有效 This.Text1.Value = DATE() && 显示当前日期 This.Text1.ForeColor = RGB(0,0,0) && 黑色文本 This.Text1.BackColor = RGB(128,128,128)&& 灰色背 景
10.4 为应用程序创建欢迎界面
在了解VFP8面向对象编程的相关基础知识后,从这节开始, 我们将以“学生学籍管理系统”为例创建几个具体的应用程 序表单。本节主要创建“欢迎界面”。
在项目中添加“欢迎”表单 修改“欢迎”界面
10.5 为应用程序创建课程信息管理界面
“课程信息管理”表单的主要作用是管理课程信息,该表单应 该具有“浏览”、“添加”、“修改”和“删除”课程信息 等的基本功能。
使用表单向导创建课程信息管理表单
图 10.26 新建的课程信息管理表单
运行课程信息管理表单
修改课程信息管理表单
1.表单的不足 •不具有课程索引自动赋值功能。 •没有提供课程名称的唯一性检查。 •在删除记录时,只是给当前记录添加了删除标记而没有真正 删除。 •所有操作提示都是VFP统一提供的,不能满足用户的个性化需 求。 2.改进方法 要改进上述的不足,需要通过重新编写控件的事件代码来更新 系统默认的事件代码。即主要修改“课程信息管理”表单中 “cmdAdd”按钮和“cmdEdit”按钮的“Click”事件代码。由于 表单中的对象都是由派生类创建的,用户为对象的相关事件新 添加程序代码将替代原派生类中定义的代码。
图 10.31 自己的控件类
10.7 为应用程序创建专业信息管理界面
“专业信息管理”表单的主要作用是管理专业的基本信息。注 意,专业隶属于系部,专业所属系部只能从系部表已有的记 录中选取。该表单应该具有“显示”、“添加”、“修改” 和“删除”专业信
图 10.32 新建的专业信息管理表单
在表单中响应对象的事件 当用户的操作(鼠标动作或按键)激发了对 象的某个事件,该事件中的过程代码将被执行。例 如,当用户单击命令按钮时,命令按钮的Click事件 过程代码将被执行。 事件中的过程代码也可以在程序运行时由程 序调用而激活,这时事件代码就如同一般过程一样。 【例如】我们需要在关闭表单Form1前自动执行命令 按钮Command1的Click事件,我们可以在表单的卸载 事件Destory中输入如下语句: mand1.Click()
3.使用容器对象的SETALL方法设置容器中所有对象的 同一属性。 【例如】为了把表格控件中列对象的BackColor属性设 置为红色,可以使用下列语句: Form1.Grid1.SetAll (“BackColor”, RGB(255, 0, 0 ) , ”Column”)
在表单中调用对象的方法程序
标签(Label)
文本框(TextBox)
命令按钮(CommandButton)
命令按钮组(CommandGroup)
编辑框(EditBox)
复选框(CheckBox)
选项组(OptionGroup)
列表框(ListBox)
组合框(ComboBox)
表格(Grid)
页框(PageFrame)
图像(Iamge)
10.6 为应用程序创建系部信息管理界面
“系部信息管理”表单的主要作用是管理学校中系部的基本信 息。该表单同样应该具有“浏览”、“添加”、“修改”和 “删除”系部信息等功能。
不使用表单向导创建系部信息管理表单
图 10.28 系部信息管理表单布局
测试系部信息管理表单
测试步骤如下: (1) 运行系部信息管理表单。 (2) 测试浏览功能。 (3) 测试编辑功能。 (4) 测试添加功能。 (5) 测试删除功能 (6) 退出当前表单。
在VFP中对象一经创建,用户便可以在应用程序的任何一 个地方调用这个对象的方法。调用对象方法的语法格式如下: Parent.Object.Method 【例如】下列语句调用方法程序来显示表单,并将焦点设 置在文本框上: ThisFormSet.Form1.Show ThisFormSet.Form1.Text1.SetFocus 如果用户调用的方法程序含有参数,那么所需传递给方法 程序的参数必须放在方法程序名后面的圆括号中。例如, Form1.Show(nStyle),将参数nStyle传递给Form1的Show方 法程序代码。
10.2 表单设计器及其应用
启动表单设计器
图 10.2 表单设计器
常用工具栏
1.表单设计器工具栏
2.表单控件工具栏
3.布局工具栏
常用对话框
1.属性窗口
图 10.3 属性窗口
2.代码编辑器
图 10.4 代码编辑器
3.数据环境设计器 每一表单或表单集都包括一个数据环境。数据环境是一 个对象,它包含与表单相互作用的表或视图,以及表单所要求 的表之间的关系。可以在“数据环境设计器”中直观地设置数 据环境,并与表单一起保存。 在表单运行时数据环境可自动打开、关闭表和视图。而 且,通过设置“属性”窗口中的ControlSource 属性设置框, 在这个属性框中列出数据环境的所有字段,数据环境将帮助你 设置控件的ControlSource 属性。
修改专业信息管理表单
图 10.33 专业信息管理表单
10.8 为应用程序创建学生信息管理表单
“学生信息管理”表单用于管理学生的相关信息,应该具有 “浏览”、“查找”、“添加”、“编辑”和“删除”等基本 功能。
设计中的问题说明
10.10 应用程序主窗口的设置简介
10.11 习题
10.1 表单中类和容器的层次关系
在表单分层结构中引用对象
图10.1 表单嵌套关系示意
绝对引用 从最高容器开始逐层向下直到某个对象为止的引用称绝对 引用。 【例如】在图10.1所示的容器嵌套关系中对象的绝对引用格式: 引用文本框Text1格式为: FormSet.Form1.Text1 引用选项组中的Option1格式为: FormSet.Form1.Optiongroup1.Option1 引用组合框Combo1格式为: bo1
对象所在的表单 当前对象所在的表单集
【例如】在图10.1所示的表单嵌套关系中对象的相对引用格式如下: 在FormSet的事件中引用对象Text1和Combo1,格式分别为: This.Form1.Text1 bo1 在Form1的事件中引用对象Text1和Combo1,格式分别为: This.Text1 bo1 在Text1或者Combo1的事件中引用自身,格式为: This 在Text1和Combo1的事件中引用Form1,格式分别为: ThisForm 或 This.Parent ThisForm 或 This.Parent.Parent 在Text1和Combo1的事件中引用FormSet,格式分别为: ThisFormSet 或 ThisForm.Parent 或 This.Parent.Parent ThisFormSet 或 ThisForm.Parent 或 This.Parent.Parent.Parent 在Text1的事件中引用Combo1,格式为: bo1 或者为 bo1 在Combo1的事件中引用Text1,格式为: This.Parent.Parent.Parent.Text1 或者为 ThisForm.Text1