《vfp表单设计学习.pptx》由会员分享,可在线阅读,更多相关《vfp表单设计学习.pptx(79页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第五章 表单设计本章主要内容:l 如何创建表单l 对象的属性、事件和方法l表单控件我们来学习表单设计!第1页/共79页第五章 表单设计通过学习本章内容,您能够做到:学会使用表单向导和表单设计器创建表单掌握类和对象及对象的属性、事件和方法等概念掌握VFP中各类控件的特点和性能,学会在表单中设计控件学会在表单中编写事件代码能够独立编制出完整的表单 第2页/共79页本章目录5.1 引例 5.2 创建表单 5.3 对象及对象的属性、事件和方法 5.4 表单中的控件 5.5 表单设计示例 HOME第3页/共79页5.1 引例通过第四章的学习,我们可以通过传统的结构化编程方法求出1+2+N之和,现在我们可
2、以设计一个较为直观的界面,通过面向对象的方法来解决这个问题,如下图所示,当我们在表单的文本框中输入100后,单击“求累加”按钮,则表单中显示出“累加和为5050”。第4页/共79页再来看一个学生档案管理表单,如图所示,我们可以在该表单中完成对学生档案表xsda.dbf的显示、输入、编辑等操作。第5页/共79页通过上面的例子,我们可以看出表单又称为界面或窗体,各种对话框和窗口都是表单不同的表现形式,同时面向对象编程的应用程序大多数工作都是在表单中进行,设计表单的过程就是设计程序界面的过程。如何创建表单就成了设计表单的首要过程。第6页/共79页5.2 创建表单 在Visual FoxPro 6.0
3、中,创建表单有以下三种方式:(1)可以直接利用表单向导创建表单;(2)利用表单设计器创建表单;(3)通过“表单”菜单中的“快速菜单”来添加表单控件和定制表单 第7页/共79页5.2 创建表单 表单向导的使用表单设计器的使用创建数据环境表单的保存及运行表单集的创建第8页/共79页表单向导的使用 “表单向导”是 Visual Foxpro 6.0提供的创建表单的快速、简单的方法。由于表单向导的交互性,开发人员无须用复杂的编程来实现,使创建表单变得更轻松。第9页/共79页启动“表单向导”可采用以下两种方法之一。方法一:在“项目管理器”中启动“表单向导”。例:创建“学生档案”表单。选择“项目管理器”的
4、“文档”选项卡中“表单”项单击“新建”按钮在“新建表单”对话框(如下左图所示)中单击“表单向导”出现“向导选取”对话框(如下右图所示)选“表单向导”单击“确定”。第10页/共79页表单向导对话框选择数据库和表以及表单上要显示的字段。第11页/共79页选择表单的样式和按钮的类型。第12页/共79页选择排序的字段。第13页/共79页输入表单标题。第14页/共79页表单向导在得到所有需要的信息后自动创建表单,表单运行后如图所示:第15页/共79页 注 意:应用向导建立表单,修改表单应用表单设计器。第16页/共79页 启动表单向导方法二:在“文件”菜单中选“新建”来启动“表单向导”。单击“文件”菜单中
5、的“新建”菜单项在“新建”对话框中选用“表单”选项单击“向导”按钮出现“向导选取”对话框,如下图所示。第17页/共79页表单设计器的使用在Visual FoxPro中,用户除了可用“表单向导”创建表单外,更多的时候是用“表单设计器”设计表单。表单设计完后,也用“表单设计器”修改。表单设计器集成了用于表单设计的各种对象和操作工具,并给予可视化提示。第18页/共79页表单设计器的使用1.表单设计器的启动 2.表单设计器工具栏 3.向表单中添加对象 4.对象的引用 5.设置对象的属性 6.编辑对象的事件代码 第19页/共79页1.1.表单设计器的启动 例:创建“学生成绩”表单。有两种方法启动表单设计
6、器方法一:选择“项目管理器”的“文档”选项卡中的“表单”项,单击“新建”按钮出现“新建表单”对话框单击“新建表单”。方法二:单击“文件”菜单中的“新建”出现“新建”对话框启用“表单”选项并单击“新建文件”按钮。第20页/共79页上述两种方法都将弹出“表单设计器”对话框,如图所示。新表单第21页/共79页2.2.表单设计器工具栏下图为表单设计器工具栏,分别包含如下按钮。设置Tab次序数据环境属性窗口代码窗口表单控件工具栏调色板工具栏布局工具栏表单生成器自动格式第22页/共79页3.3.向表单中添加对象 (1)使用“表单生成器”添加表字段 操作步骤如下:在表单设计器工具栏中单击“表单生成器”打开表
7、单生成器对话框在“字段选取”选项页中选择数据库、表和表单中需要显示的字段;第23页/共79页选择“表单生成器”的“样式”选项卡在其中选择生成表单的样式;第24页/共79页单击“确定”自动生成表单。第25页/共79页(2)使用“数据环境设计器”添加表字段、表 操作步骤:在打开“表单设计器”在表单设计器工具栏中单击“数据环境”打开“添加表或视图”对话框选相应的表添加到“数据环境设计器”中。第26页/共79页 用鼠标左键在数据库环境设计器的字段列表中选定字段直接拖拽到表单中用户指定的位置即可。第27页/共79页(3)使用“控件生成器”添加控件 在Visual FoxPro中提供了文本框、编辑框、命令
8、或组、选项组、组合框、列表框和表格等7个标准控件生成器工具。用户可以利用这些“控件生成器”,在窗口添加或修改、定制某控件。第28页/共79页4.4.对象的引用 对于容器层次中的对象,为了引用和操作,就必须标识出与其关联的容器类。例如,要操作表单集中某一表单的控件,就必须先引用表单集和表单,然后才是控件。Visual FoxPro提供了绝对引用和相对引用两种方式。第29页/共79页 绝对引用必须标明每个层次对象的对象名,相对引用可用以下的简捷方法来标识要操作的对象:Parent:引用对象的直接容器(上一层容器类)。This:表示当前对象。ThisForm:表示包含该对象的表单。ThisForms
9、et:表示包含该对象的表单集。ActiveControl:表示当前活动表单中有焦点的控件 例如:”确定”确定”This.Caption=”确定”第30页/共79页5.5.设置对象的属性 可在属性窗口中设置,也可通过命令设置,例:“累加和:”注意:如果属性要求输入字符值,不必用引号将这个值括起来。第31页/共79页6.6.编辑对象的事件代码 在表单中当用户进行某些动作时,便会自动触发对象的事件代码,编写事件代码是面向对象的程序设计中最常用、最主要的方法。在VFP可视化环境设计中,事件代码的编辑可在“代码窗口”中进行。第32页/共79页 选中表单设计器工具条中的“代码窗口”按钮,或利用“显示”菜单
10、中“代码”菜单项,或双击对象都将会出现代码窗口,如下图所示。事件选择栏对象选择栏代码编辑栏第33页/共79页示 例设计“学生管理系统”欢迎界面第34页/共79页操作步骤:打开”表单设计器”添加两个标签 设置属性:在标签上输入文字设置字体、大小、背景等。第35页/共79页输入事件代码第36页/共79页创建数据环境每一个表单或表单集都包括一个数据环境。数据环境是一个对象,它包括了在运行一个表单时需要打开的全部表、视图和关系。可以在“数据环境设计器”中可视地设置数据环境,并将它和表单或表单集一起保存。第37页/共79页1.数据环境设计器的启动方法一:“显示”菜单中选择“数据环境”选项;方法二:右击表
11、单空白处,选“数据环境”;方法三:单击表单设计器工具栏中“数据环境”按钮。2.向数据环境中添加表或视图:右击数据环境设计器,选“添加”。3.移去数据环境中的表:方法同移去数据库表文件方法相同。4.为数据环境设置关系:建立主表和从表的关系。5.向表单中添加表字段、表:选定表字段或表直接拖到表单上。第38页/共79页表单的保存及运行 1.表单的保存 在“表单设计器”中保存表单,可以从“文件”菜单中选择“保存”选项,则“表单设计器”中的表单以文件形式存盘,表单文件的扩展名为.scx。对于新创建未命名的表单,在选择“保存”选项之后,将弹出“另存为”对话框提示用户为表单输入文件名。第39页/共79页 2
12、.表单的运行 方法一:选“表单”菜单中的“执行表单”菜单项;方法二:在“项目管理器”选表单名称,单击“运行”按钮。方法三:输入命令 DO FORM 表单文件名第40页/共79页示 例设计“学生管理系统”用户登陆界面(kl.scx)第41页/共79页操作步骤:打开“表单设计器”添加控件两个标签、两个文本框;设置属性:设置标签的属性和文本框的属性;标签的主要属性设置:Name:label1 Name:label2 Autosize:T Autosize:T Caption:请输入用户名 Caption:请输入密码 Fontsize:16 Fontsize:16 文本框的主要属性设置:Name:te
13、xt1 Name:text2 Fontsize:16 Fontsize:16 Passwordchar:*第42页/共79页输入事件代码Text2的Keypress事件:LPARAMETERS nKeyCode,nShiftAltCtrlif nkeycode=13.and.!empty(this.value)do d:ykymain.mpr thisform.tabstop=.t.thisform.release else messagebox(姓名或口令不正确,您不能使用本系统!)this.value=thisform.tabstop=.f.endifendif第43页/共79页表单集的创
14、建 在Visual FoxPro中,可以将多个表单包含在一个表单集中。这样可以对表单集中的所有表单进行统一操作(如一起显示或隐藏表单集中的表单),同时将多个表单组织成一个表单集可以统一控制和安排这些表单的相对位置。第44页/共79页要创建新的表单集,请选择“表单”菜单的“创建表单集”菜单项。创建表单集后,就可以将表单分别添加到表单集中。要将表单添加到表单集中,请选择“表单”菜单中的“添加新表单”命令。对于已经包含在表单集中的表单,如果要从表单集中将其移去,那么可以在表单设计器中选择要移去的表单,然后选择“表单”菜单的“移除表单”命令。对于只有一个表单的表单集,可以选择“表单”菜单的“移除表单集
15、”命令移去这个表单集。第45页/共79页5.3 对象及对象的属性、事件和方法Visual FoxPro 6.0提供了面向对象编程的功能,在面向对象的程序设计中,最基本的概念就是类和对象的概念。第46页/共79页5.3 对象及对象的属性、事件和方法类与对象概述 对象的属性、事件及方法 表单的属性、事件和方法第47页/共79页类与对象概述 1.对象 对象可以是我们感兴趣的所有事物,它是有着各自特殊属性和行为方式的逻辑实体。现实生活中的每一个人、每一个可见的实体均可视为一个对象,大到地球,小到一张纸等,整个世界就是由这些不同的对象构成的。为了区别和标识不同的对象,每个对象都应该有一个属于自己的名字,
16、正如我们每个人都有姓名。第48页/共79页对象具有以下一些特点:(l)每个对象都具有对象标识符又称为对象名,用标识符来表示对象的唯一性。(2)对象必须属于一个对象类。第49页/共79页2.类类是描述一个特定对象类型必备特征的模型。类和对象关系密切,但并不相同。类包含了有关对象的特征和行为信息,它是对象的蓝图和框架,对象是类的一个实例。例如,人应该有性别、身高、体重等特征,有哭、笑、行走等行为,我们每个人就是“人”这个类中的一个实体对象。第50页/共79页类具有以下三个重要特点:(1)继承性:可以从现有的类派生出新类。例如:学生是从人类派生出来的新类。(2)封装性:将方法和数据存放于同一个对象中
17、,对数据的存取只能通过该对象本身的方法来进行。(3)多态性:不同的对象接收到相同的消息时,可以做出完全不同的解释。第51页/共79页 3.Visual FoxPro 中的类(1)基类 基类是父类的集成,基类可以派生出子类或创建对象。(2)容器类和控件类 1)容器类 容器类对象可以包含其他对象,并且允许访问这些对象。例:命令按钮组、表单 2)控件类 控件类对象不能包含其他对象,只能加入到其他容器对象中。例:文本框、标签第52页/共79页对象的属性、事件及方法 1.对象的属性对象的属性:描述对象的外部特征(状态)。属性表:一个对象的所有属性的集合。设置对象的属性可以用:a.属性窗口 b.程序语句设
18、置属性的命令语法:例:Thisform.txt编号.Value=0显示属性的命令:第53页/共79页 2.对象的事件及事件过程 事件:是指系统预先设置好的,能够被对象识别的动作。例:鼠标单击事件Click;按键事件KeyPress。事件可以由用户动作产生,也可以由程序代码或系统产生。对事件的响应是通过调用执行一个与事件相关的事件过程来实现。事件过程一般格式为:PROCEDURE 对象名.事件名 程序代码 ENDPROC第54页/共79页 3.对象的方法 方法:是指对象本身所内含的一些特殊函数或过程,利用这些内部自带的函数或过程,可以实现一些特殊的功能或动作。调用方法的命令语法:例:第55页/共
19、79页表单的属性、事件和方法 1.表单的属性下表:例:thisform.backcolor=RGB(0,255,0)第56页/共79页 2.表单事件 Click:表单的单击事件;Load:创建表单前发生事件;Unload:关闭表单时,将发生事件;Resize:调整对象大小时发生事件;Activate:激活一个对象时发生事件;Deactivate:表单不再处于激活状态时发生事件。第57页/共79页3.表单方法 第58页/共79页5.4 5.4 表单中的控件控件是放在表单上用以显示数据(label)、执行操作(command)或使表单更易阅读(list)的一种图形对象,控件的不同以及处理任务的不同
20、,其属性及其属性的设置、事件处理代码和方法程序也有所不同。第59页/共79页5.4 5.4 表单中的控件控件的分类 选择合适的控件 常用控件介绍 设置访问键及工具提示 控件的基本操作 设置控件的Tab键次序 第60页/共79页控件的分类按照控件与数据的关系划分,表单中的控件分为两类:一种控件被绑定到某数据项上,一种控件未进行数据绑定。用ControlSource属性将控件绑定到数据项上。表格控件用RecordSource属性进行设置。第61页/共79页选择合适的控件 由于不同的控件其特征和行为都不相同,在表单设计时,控件应根据所处理的任务进行选择。利用选项按钮组、列表框、下拉列表框、复选框等控
21、件,可以为用户提供一组预先设定的数据选项;利用文本框、编辑框、组合框等控件可以让用户输入预先不能确定的数据;利用标签、文本框、形状、线条、图形、图像等控件可以显示信息。第62页/共79页常用控件介绍在“表单控件”工具栏中共有25个按钮。它们是一个“选择”按钮、一个“锁定”按钮、一个“查看类”、21个标准控件和一个“ActiveX”控件。下面我们将选取常用的控件进行讲解。第63页/共79页1.1.标签控件标签控件加入表单的信息是用来标识字段或向用户显示提示信息,标签控件常见属性参考表5-4所示。其信息是通过Caption属性显示出来的。第64页/共79页2.2.文本框(Text)(Text)放置
22、单行文本,可输入或更改文本(非备注字段中的数据)。属性性:在进行数据绑定时(设置ControlSource属性),先要设置数据环境,然后才能进行。第65页/共79页3.3.编辑框(Edit)(Edit)放置多行文本,可输入或更改文本,可以是长字段或备注字段中的数据。属性:基本同文本框的属性。编辑框第66页/共79页4.4.列表框(List)(List)提供一个可滚动的列表,但不能输入文本,是容器类控件。应用“列表框生成器”选定有关字段的内容赋给列表框。在列表框上单击鼠标右键选“生成器”。第67页/共79页5.5.组合框(ComboCombo)相当于列表框和文本框的组合,可输入文本,可选择条目。
23、属性:最重要的属性:ControlSource、RowSource、RowSourceType第68页/共79页组合框生成器下拉组合框第69页/共79页6.6.复选框(Check)(Check)指明是选定还是不选定。属性:ControlSource一般绑定表文件中的逻辑字段。Value:值为0或.F.,未选定;Value:值为1或.T.,表示选定;Value:值为2或NULL,表示不可用。图复选框第70页/共79页7.7.选项按钮组OptiongroupOptiongroup其中选项按钮为:Option1、Option2。是包含选项按钮的容器。属性:图编辑选项按钮图选项按钮组第71页/共79页
24、8.8.命令按钮(Command)(Command)及命令按钮组(CommandgroupCommandgroup)创建单个命令按钮和一组命令按钮。命令按钮属性:命令按钮组属性:第72页/共79页9.9.表格控件表格是一个容器,可以用表格形式显示数据。属性:应用“表格生成器”选择表中字段。表格控件第73页/共79页10.10.页框控件页框控件是可以包含多页面的容器类控件。属性:第74页/共79页设置访问键及工具提示 为控件设置访问键的方法是:在控件的Caption属性中欲作为访问键的字母之前加反斜杠和小于符()。当控件带有访问键时,可以按Alt加访问键来选择表单中的控件。例如,设置命令按钮的C
25、aption属性为“编辑(E)”,按则Alt+E键就相当于单击该命令按钮。每个控件都有一个 ToolTipText属性,用于确定当鼠标指针暂停在控件上时要显示的文本(工具提示)。至于是否显示工具提示,则由表单中的ShowTips属性确定。第75页/共79页控件的基本操作 1.选择控件2.移动控件3.缩放控件4.删除控件5.复制控件6.调整和对齐控件第76页/共79页设置控件的TabTab键次序 选“工具”菜单中“选项”,选“表单”选项卡,在“Tab键次序”中可选择“按列表”或“交互”。1.交互设置Tab键次序 显示Tab键次序,双击该控件使该控件为Tab键的第一个控件,依次单击其它控件。2.按列表设置Tab键次序 显示Tab键次序,单击“按行”或“按列”按钮,单击“确定”。第77页/共79页设计“学生档案”表单5.5 表单设计示例 第78页/共79页感谢您的观看。第79页/共79页