第8章可视化表单设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

8.2.4 使用表单向导创建表单
1.创建单表表单
【例8-2】使用表单向导创建一个可维护职工 档案表zgda.dbf的表单
2.创建一对多表单
【例8-3】使用student表和borrow表创建一个 一对多表单
8.3 表单设计器的使用
操作步骤 1.启动表单设计器创建空表单 2.指定数据源(不是必须) 3.添加控件 4.设置控件属性 5.添加代码 6,运行表单
endif else
messagebox("密码错,禁止进行本系统! ") this.enabled=.f. endif
8.4 数据环境与数据绑定
8.4.1 数据环境 数据环境指表单或表单集中使用的数据源,
即表单或表单集中所有用到的数据所在的表。 1.启动“数据环境设计器”
通过表单设计器工具栏中的数据环境按钮 或显示菜单中的“数据环境”命令 2.向数据环境添加表或视图
2.修改控件的属性:控件上显示的文字,文本框 输入的内容显示为*号
3.要给命令按钮添加代码,使其完成指定的功能。
操作步骤:1.创建空表单,2.向表单中添加控件, 3.修改控件的属性,4.添加代码
控件 Form1 Label1 Text1 Command1 Command2
控件的属性
属性
属性值
Caption
一个对象被创建后,对对象的操作主要是访问 其属性及调用其方法。这些操作通过对该对象的引用 进行。其基本格式为:
<对象引用>.<属性>
<对象引用>.<方法> 其中对象引用分为绝对引用和相对引用 1.绝对引用
从最顶层的容器开始的引用。如:
mand.Enabled=.f.
2.常用表单方法 ( 1 ) Relase 方 法 : 将 表 单 从 内 存 中 释 放 。 ThisForm.Release 表单运行时,用户单击表单右上角的关闭按钮, 系统会自动执行Relase方法。 (2)Refresh方法:刷新表单。 ( 3 ) Show 方 法 : 显 示 表 单 。 该 方 法 将 表 单 的 Visible属性设置为.T.。 (4)Hide方法:隐藏表单。 (5)SetFocus方法:使对象成为活动对象。
4.事件:是一种由系统预先定义而由用户或系统发出 的动作。事件作用于对象,对象识别事件并作出相应
反应 。事件集是固定的,用户不能定义新的事件 。
当用户执行相应的操作时都会引发一个事件。
5.类:类是一种对象的归纳和抽象,是对一类相似对 象的性质描述,这些对象具有相同种类的属性(变量) 以及方法(函数)
3.继承性
即子类具有父类的所有属性和方法。对父类所作
的修改会被子类自动继承。
4.抽象性
用户对对象进行操作时,可忽略对象内部的实现 细节。
5.多态性
同一类的对象可以有不同的表现形式。
8.1.4 VisualFoxpro的基类
Visual FoxPro提供了一系列的基本对象类, 称为基类(Base Class)。每个对象都有各自的属 性和方法。 基类的分类:基类一般可分为控件类和容器类 控件类:该类的对象必须作为一个整体来访问 或处理。如命令按钮和文本框等。 容器类:该类对象可以容纳控件类对象,可以 单独对其中的组件进行修改和操作。如表单、 命令按钮组、页框等。
用于显示静态文本(运行后不能改变的文 字),一般用于提示。文本内容保存在Caption 属性中。 标签的主要属性有:
Caption,Autosize,Fontsize,Forecolor,BackStyle, BackColor,Name,Alignment
2.命令按钮
Caption属性内容为命令按钮上显示的 内容。添加命令按钮的操作主要有:设置 Caption属性(后面加\<E可以将E设置为 热键)和输入代码(Click事件)
8.5.2 文本框和编辑框
1.文本框(TextBox)和编辑框(EditBox)的区别
相同之处:都可以由用户直接输入数据与编辑 数据,输入的数据保存在Value属性中。
不同之处:文本框只能输入一行文本,编辑框 可以输入多行文本(有滚动条);文本框可以 输入字符型(默认类型)、数值型、日期型和 逻辑型数据,而编辑框只能输入字符型数据。
【例8-6】设计一个简单表单,含一个显示“欢迎使用 档案管理系统”文字的标签以及“进入”、“退出” 两个命令按钮
控件
属性事件
标签控件Label1 Caption
Command1 Caption
Command2 Command1
Caption
Click事 件
Command1
Click事 件
属性值(代码) 欢迎使用档案管理系统 进入 退出\<Q thisform.release do form 身分验证 thisform.release
面向对象程序设计的主要工作有两部分:
一是创建类,包括定义类中的成员和类提供的功能 (即方法)
二是通过类创建对象,并按应用程序的需求建立对象 之间的协同工作能力。
OOP方式不再是以操作和过程作为程序设计的中 心,而是将对象和数据结构作为程序设计的中心。
8.1.2 对象与类的概念
1.对象(Object)
控件
中文名称
ListBox
列表框
OLEBound OLE绑定型控件
OLEContainer OLE容器控件
Shape
形状
Spinner
微调按钮TextBox来自文本框Timmer
计时器
2 容器类 常见的容器类对象见下表
容器
可包含对象
Container(容器)
任意控件
FormSet(表单集)
表单、工具栏
8.3.1 表单设计器的启动 8.3.2 表单设计工具栏 通过“显示”菜单中的“工具栏”命令可打开 或关闭工具栏。 1.表单设计器工具栏 2.表单控件工具栏 3.布局工具栏 4.属性窗口 5.代码窗口
8.3.3 表单生成器
在表单设计器中通过下面方法之一可以打开表 单生成器:
1.单击“表单设计器”工具栏中的”表单生成 器“按钮”
第8章 可视化表单设计
8.1 面向对象程序设计简介 8.2 表单设计概述 8.3 表单设计器的使用 8.4 数据环境与数据绑定 8.5 常用表单控件 8.6 表单集与多重表单
8.1 面向对象编程简介
8.1.1 面向对象程序设计概述
面向对象程序设计(OOP):将客观事物称为对象, 对对象的抽象得到类。
对象是类的运行实例,客观世界里的任何实体都可 以被看作是对象。对象可以是具体的事物,也可以指 某些概念。
从编程的角度来看,对象是一种将数据和操作过程 结合在一起的数据结构,或者是一种具有属性(数据) 和方法(过程和函数)的集合体。事实上程序中的对 象就是对客观世界中对象的一种抽象描述
2.属性:对象所具有的特征被称为对象的属性。每个 对象都有多个属性,如对象的显示标题、对象的名称、 对象的前景色背景色、对象的文本大小等。 3.方法:描述对象行为的过程。即程序代码
Form(表单)
任意控件
Grid(表格)
多个表格列
Column(列)
列标头等
PageFrame(页框)
多个页面
Page(页面)
任意控件、容器和自定义对象
CommandGroup(命令按 命令按钮 钮组)
OptionGroup(选项按钮组) 选项按钮
ToolBar(工具栏)
任意控件、页框和容器
8.1.5 对象的引用
2.从快捷菜单中选择“生成器”命令
3.从“表单”菜单中选择“快速表单”命令
【例8-4】使用“表单生成器”快速生成一个职 工档案表单。样式选择“新奇式”
8.3.4 用表单设计器设计表单
主要操作步骤 1.使用“文件/新建”命令新建一个空表单 2.向数据环境中添加表(当表单中要使用表时) 3.向表单中添加控件,并对控件进行合理布局 4.选择控件,修改控件的属性 5.为命令按钮添加事件代码 6.运行表单
8.1.3 对象与类的特性
1.封装性 对象的属性与方法被封装在一个独立的一段
源代码中,对其中的数据的访问必须通过方法实 现,不能直接访问。 2.层次性
类具有层次性,在一个类的基础上通过添加 一些属性和方法可以得到一个新的类,称原来的 类为基类或父类,产生的新类为派生类或子类 。 子类继承了父类的所有属性和方法。
1.表单的修改
(1)菜单方式:通过文件菜单的打开命令
(2)命令方式:modify form 表单文件名
2.表单的运行
(1)菜单方式
打开表单后使用工具栏中的!,或使用表 单菜单中的执行表单命令
(2)命令方式
do form 表单文件名 with 参数表
说明:参数是传给Init事件代码中的 PARAMETERS或LPARAMETERS中的参数。
2.相对引用
引用时使用下面关键字的引用
参照关键字 说明
Parent this
当前对象的直接容器对象即其父类对 象
当前对象
thisform 包含当前对象的表单
thisformset 包含当前对象的表单集
【例8.1】对象的相对引用 thisform.refresh bel1.Caption="你好,信息世界" this.value=3 thisformset.form1.refresh this.pqrent.text1.setfocus
要使得文本框中输入的数据为某一确定的类型, 必须先设置其Value属性值为该类型的数据或通 过文本框生成器设置其属性。
添加文本框和编辑框后的主要操作:
【例8-5】设计一个名为“身分验证”的应用程序 的密码输入对话框。要求用户输入的密码字符自动显 示为“*”。密码正确,显示“密码正确,欢迎进行 本系统!”,否则,显示“密码错,禁止进行本系 统!”,最多允许输入3次密码。
要点:1.使用表单完成,表单中要添加:一个标 签控件、一个文本框控件、二个命令按钮
1 控件类
控件:通常是指容器类对象内的一个图形化的、 并能与用户进行交互的对象。
常见的控件类对象见下表
控件 CheckBox ComboBox CommandButton OptionButton Label EditBox Image Line
中文名称 复选框 组合框 命令按钮 选项按钮 标签 编辑框 图像 线条
=dtoc(date())
Caption
密码:
PasswordChar *
Caption
确定
Caption
清除
添加代码
Form1对象的Load事件代码: public i i=0 Command2对象的Click代码: thisform.text1.value="" thisform.text1.setfocus
使用快捷菜单中相应命令添加
3.在数据环境中设置关系
方法:将主表中的字段拖动到子表中的相应索 引字段上即可。
8.4.2 数据绑定
即为表中的控件指定相关的数据源。通常 由控件的ControlSource属性指定 8.4.3 向表单添加字段
直接将数据中的字段拖动到表单中。
8.5 常用表单控件
8.5.1 标签与命令按钮 1.标签
Command1对象的Click代码: i=i+1 if i<3
if thisform.text1.value="3721" messagebox("密码正确,欢迎进行本系统!") thisform.release
else messagebox("密码错,重新输入!") thisform.text1.value="" thisform.text1.setfocus
8.2.3常用表单事件与方法
1.常用表单事件:
(1)Init事件 在对象建立之前引发,在表单的Init事件前引发 (2)Activate事件 当一个表单、表单集或页面成为当前活动对象时引发 (3)Destroy事件 在控件对象释放时表单对象的Destroy事件之前引发 (4)Load事件 在表单对象被创建之前即Init事件之前引发 (5)Unload事件 在表单对象的Destroy事件后引发 (6)Error事件:出错时引发 (7)GotFocus事件:对象被选定时引发 (8)Click事件:单击时引发
8.2 表单设计概述
8.2.1 创建表单的途径 1.使用表单向导创建表单 2.在表单设计器中使用表单生成器创建表单 3.使用表单设计器创建表单 4.通过编写程序创建表单 打开表单设计器的方法: 1.通过“文件/新建/表单/新建” 2.使用命令:create form 表单文件名
8.2.2 表单的修改与运行
相关文档
最新文档