VFP数据库程序设计-第六章表单设计与应.ppt_第1页
VFP数据库程序设计-第六章表单设计与应.ppt_第2页
VFP数据库程序设计-第六章表单设计与应.ppt_第3页
VFP数据库程序设计-第六章表单设计与应.ppt_第4页
VFP数据库程序设计-第六章表单设计与应.ppt_第5页
已阅读5页,还剩64页未读 继续免费阅读

VIP免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

VFP数据库程序设计,设计制作: 蔡燕娟 计算机科学与技术学院 计算机应用系,内容提要,面向对象的概念,VISUAI FOXPRO基类简介,第六章 表单设计与应用,创建与运行表单,表单设计器,表单属性与方法,基本型控件,容器型控件,自定义类,面向对象的概念,对象(Object) 客观世界里的任何实体都可以被看作是对象。对象既可以是具体的物,也可以指某些概念。 从编程的角度来看,对象是一种将数据和操作过程结合在一起的数据结构,或者是一种具有属性(数据)和方法(过程和函数)的集合体。事实上,程序中的对象就是对客观世界中对象的一种抽象描述。,面向对象的概念,对象的属性 标识了对象的性质,特征。 对象的方法 用来描述对象的行为,是对当某个对象接受了某个消息后所采取的一系列操作的描述。,类(Class) 类是对一组对象的属性和行为特征的抽象描述,或者说是具有共同属性、共同操作性质的对象的集合。 类和对象关系密切,但并不相同,类就像是一类对象的模板。有了类定义后,基于类就可以生成这类对象中的任何一个对象,这些对象虽然采用相同的属性来表示状态,但它们在属性上的取值完全可以不同,这些对象一般有着不同的状态,且彼此间相对独立。,面向对象的概念,类的定义中,也可以为某个属性指定一个值,这个值将作为基于该类生成的每个对象在该属性上的默认值。 基于某个类生成的对象称为这个类的实例。可以说,任何一个对象都是某个类的一个实例。 方法在类中定义,执行方法的主体是对象。同一个方法,不同的对象执行,可能产生不同的结果。,面向对象的概念,继承 基于现有的类创建新类时,新类继承了现有类的属性和方法。 子类 以某个类(父类)的定义为起点创建的新类(子类)。子类继承了父类的属性和方法。并可以定义自己的方法和属性。 一个子类的成员包括: 从它的父类继承的成员、包括属性、方法。 由子类自己定义的成员,包括属性、方法。,面向对象的概念,Visual FoxPro的基类简介,Visual FoxPro的基类 是系统本身内含的,并不存放在某个类库中。 /*表6-1*/ 每个Visual FoxPro基类都有自己的一组属性、方法和事件。 用户可以基于基类生成自己所需的对象。 可以扩展基类创建自己的类,当扩展某个基类创建用户自定义类时,该基类就是用户自定义的父类,用户自定义类继承该基类中的属性、方法和事件。/*表6-2*/,Visual FoxPro的基类简介,在程序设计中,可以使用CREATE OBJECT函数来直接生成基于某个类的对象。该函数的命令格式如下: CREATE OBJECT(,) 对象属性的方法访问以及对象调用的基本命令格式如下: . .(参数列表),Visual FoxPro的基类简介,oform=createobject(“form“) ?“class:“+oform.class ?“baseclass:“+oform.baseclass ?“classlib:“+oform.classlibrary ?“parentclass:“+oform.parentclass oform.show,Visual FoxPro中的类一般可分为两种类型: 控件类(生成控件(对象) 可以以图形化方式显示出来并能与用户交互的对象。例如 按钮、文本框、列表框等。 容器类(生成容器(对象) 可以包容其他控件或容器的一种特殊的控件。例如表单、表格等/*表6-3*/ 不同的容器所能包容的对象不同。 如 表格不能包容页对象 对象可以嵌套 表单、页框、页对象,容器与控件,事件 预先定义好的,能够被对象识别和响应的行为与操作。 事件引发 可以由系统引发,如生成对象时,系统就引发一个Init事件,对象识别该事件,并执行相应的Init事件代码。 也可以由用户引发,如用户单击程序界面上的一个命令按钮就引发了一个Click事件,命令按钮识别该事件并执行相应的Click事件代码。 事件集是固定的,用户不能定义新的事件。方法集可以无限扩展不同。,事 件,表 单,表单(FORM)是一种容器对象,它是一个或多个页面的集合,类似于标准窗口或对话框。表单内既可以包含命令按钮、文本框、列表框等各种控件,还可以包含在一个表单集中。表单是VFP中用于建立应用程序用户界面的最主要的工具之一。,创建表单,创建表单的途径 使用表单设计器创建、设计新的表单或修改已有的表单。 使用表单向导创建即用表单。,创建表单,使用表单向导创建表单 使用表单设计器创建表单 项目管理器方式 菜单方式格式 命令方式 CREATE FORM 修改已有的表单,创建表单,使用表单向导创建表单 “表单菜单”中的“快速表单”命令。 “表单设计器”工具栏中的”表单生成器”按钮。 右键单击表单窗口,在弹出菜单中选择”生成器”命令。 修改已有的表单,表单的保存,在运行表单之前需要保存表单。如果在未保存表单之前就运行这个表单或关闭表单设计器,VFP将提示是否保存已做过的修改。 1保存表单的操作 2将表单保存为HTML文件的操作,表单的运行,运行表单的操作方法有多种。 例 运行表单“表单1.SCX” 方法一: 在“项目管理器”对话框中,运行表单。,方法二: 在“表单设计器”窗口中,表单的运行,方法三: 用常用工具栏上的 或Ctrl+E 方法四: 用命令方式运行表单。利用以下的命令格式: DO FORM ,表单的运行,表单设计器常用工具,与表单设计器配套的工具有很多,常用的几种: 属性窗口 属性窗口的打开: 表单设计器工具栏或显示菜单 属性窗口的构成: 对象框、属性设置框和属性、方法、事件列表框。 属性的设置: 对于默认的属性设置不认可,可重新进行设置。 一般情况直接输入,包括输入、选择、双击等。 对于类型不确定的可以用表达式生成器或=输入。 设置默认值 单击右键,在弹出菜单中选择。,表单设计器常用工具,与表单设计器配套的工具有很多,常用的几种: “表单控件”工具栏 “表单控件”工具栏的打开 表单设计器工具栏或显示菜单中的工具栏中进行选择。 四个辅助按钮 “选定对象”按钮 “按钮锁定”按钮 “生成器锁定”按钮 “查看类“按钮,表单设计器常用工具,与表单设计器配套的工具有很多,常用的几种: “表单设计器”工具栏 “表单设计器”工具栏的打开: 通过显示菜单中的工具栏中进行选择。 “表单设计器”工具栏的工具按钮: 表单菜单,表单设计器常用工具,与表单设计器配套的工具有很多,常用的几种: 数据环境设计器 “数据环境设计器”的打开 打开表单设计器后, 选择“显示数据环境” 命令选项,则打开了“数 据环境设计器”窗口。,添加表或视图,数据环境设计器,添加表或视图的关系 表或视图的关系应该在至少两个表或视图中产生。,数据环境设计器,编辑表或视图的关系 删除表或视图 当将表从“数据环境设计器”中删除时,与这个表有关的所有关系也将随之移去。 向表单中添加字段 方法一:在表单添加一个文本框,利用ControlSource绑定。 方法二:从“数据环境设计器”中直接将字段或表拖到表单上。,数据环境设计器,在VFP中,用户可以向表单中添加各种控件,如命令按钮、文本框、编辑框和复选框等。控件可以使表单更好、更灵活地完成数据输入、输出工作,甚至能够起到美化表单的作用。这里主要介绍如何添加、删除、设置表单中的控件。,控件的操作和布局,控件的操作和布局,控件的操作 创建控件 (1)单击“表单控件”工具栏中的某个图标,在表单适当位置拖动鼠标即产生一个控件。 (2)单击“表单控件”工具栏中的某个图标,在表单适当位置单击鼠标左键即可在该处产生一个控件。,选中控件 选中单个控件,只需要在该控件上单击鼠标左键,使其四周出现黑框。如果想选中多个控件,可以采用以下的两种方法: 第一种方法:同时选定相邻的多个控件 第二种方法:同时选定不相邻的多个控件 控件的缩放和移动 控件的复制和删除,控件的操作和布局,控件的操作和布局,控件的布局 可以方便地调整表单窗口中被选中的控件的相对大小或位置。 设置TAB键次序 设置方式: “工具”菜单中的“选项”对话框的“表单”选项卡。 交互方式 按列表方式 在“显示菜单”中,选择“TAB键次序”命令或“表单设计器”的工具栏上选择“TAB键次序”按钮。,表单的属性和方法,常用的表单属性 见表6.10 常见的事件 运行时事件 LoadInit 关闭时事件 Destroy 、Unload 交互时事件 Gotfocus 、Click 、DblClick RightClick 、InteractiveChange 引发Click的情况:单击、获得焦点、默认按钮的Enter 错误时事件 Error,表单的属性和方法,常见的事件 运行时事件 LoadInit 关闭时事件 Destroy 、Unload 交互时事件 Gotfocus 、Click 、DblClick RightClick 、InteractiveChange 引发Click的情况:单击、获得焦点、默认按钮的Enter 错误时事件 Error,事件一旦被触发,系统马上就去执行添加在该事件中的代码。待事件代码执行完毕后,系统又处于等待某事件发生的状态。 事件包括事件过程和事件触发方式两方面。事件过程的代码应该事先编写好。事件触发方式可细分为3种: 由用户触发; 由系统触发; 由代码触发。,表单的属性和方法,表单的方法 Show:显示表单。将Visible属性设置为T Hide:隐藏表单。将Visible属性设置为F Release:将表单从内存中释放。 ThisForm. Release 表单或控件刷新 Refresh:重新绘制表单或控件,并刷新它的所有值。 控件的焦点设置 Setfocus:让控件获得焦点,使其成为活动对象Visible和Enabled为F,将不能获得焦点。,表单的属性和方法,编辑方法或事件代码 打开代码窗口 选择方法或对象所属的对象 编辑或修改方法或对象的代码。,例 用表单设计器建立一个新表单,设置下列表单的属性值:,AutoCenter:.T. BackColor:128,255,255; Caption:示例; 设置Click事件的代码为: This.BackColor=RGB(255,129,255) This.Caption=“变色“ 设置DblClick事件的代码为: This.BackColor=RGB(255,255,129) This.Caption=“黄色“,基本控件 标签,用以显示文本,不能在屏幕上直接编辑修改,可以在代码中通过Caption属性进行修改。 常用的标签属性: Caption: 注意 Caption与Name的区别 Alignment:标题文本在控件中显示的对齐方式。,基本控件 命令按钮,“命令按钮”控件主要用来控制程序代码的执行、操作。在表单中添加具有不同功能的命令按钮,供用户选择各种不同的操作。 命令按钮的不同功能是通过为各个按钮“click”事件编写不同的方法程序代码设置的。 “命令按钮”的主要属性是: 名称:name 标题:caption 位置及大小:top、left、height、width,基本控件 命令按钮,“命令按钮”的主要属性是: 对象的可见性:Visible 默认按钮:Default,一个表中只有一个默认按钮 取消按钮:Cancel, Esc = Click 表单或控件是否引发事件:Enabled 控件自动改变:autosize 字体字号:fontname、fontsize “命令按钮”经常选用的事件: Click,例 建立一个新表单,在表单中添加一个标签控件, 设置标签控件的下列属性值: Caption属性值为:欢迎各位读者!; FontSize:24; ForeColor:0,0,255; AutoSize:.T.; 再在表单中添加两个命令按钮 设置第一个命令按钮: Caption属性值为:改变颜色;,Click事件的代码为: IF This.Caption=“改变颜色“ Thisform.Label1.ForeColor=RGB(0,255,0) This.Caption=“恢复颜色“ ELSE Thisform.Label1.ForeColor=RGB(0,0,255) This.Caption=“改变颜色“ ENDIF,设置第二个命令按钮: Caption:改变大小; Click事件的代码为: IF This.Caption=“改变大小“ Thisform.Label1.FontSize=18 This.Caption=“恢复大小“ ELSE Thisform.Label1.FontSize=24 This.Caption=“改变大小“ ENDIF,基本控件 文本框,文本框是最常用的控件主要用于数据表中某些数据的输入输出或编辑,以及从窗口给内存变量赋值等操作。文本框一般只包含一行数据。 文本框对象的常用属性设置: 文本框名称:name 文本框数据初始值与类型:value 绑定数据源:ControlSource 文本框内容的字体大小:fontsize 设置输入和显示数据的格式与长度:inputmask 设定是否只读状态:readonly,基本控件 文本框,文本框对象的常用属性设置: 在应用程序中,经常需要获得某些安全信息如:口令。这时需要设置文本框的passwordchar属性为“*”或其它一些字符,用文本框来接收这一信息,而不在屏幕上显示其实际内容。,基本控件 编辑框,在编辑框中允许编辑长字段或备注字段文本,允许自动换行并能用方向键、PageUp 和 PageDown 键以及滚动条来浏览文本。 编辑框对象的常用属性设置: 失去焦点后的选定状态:HideSelection 是否能编辑内容: ReadOnly 滚动条:ScrollBars 选定文本的起始点位置:SelStart 选定文本的字符数:SelLength 选定文本:selText,基本控件 复选框,复选框用于标记一个两值状态,主要反映某些条件是否成立。 单击鼠标左键改变其值。当选中,状态为“T”,框中有“”;否则,为选中,为空白。允许同时选择多项。 复选框可以在表单中独立存在,选项按钮只能存在于它的容器选项按钮组中。 复选框控件是一种数据绑定型控件,在数据编辑或条件选择等方面有广泛应用。,基本控件 复选框,复选框对象的常用属性设置: caption :复选框旁的标题。默认情况下,标题在复选框的左边。 ControlSource :绑定数据源。作为数据源的字段或内存变量,逻辑型:F、T、null 数值型:0、1、2(或null) value :没有设置ControlSource属性,可通过value设置或返回复选框的状态。,基本控件 微调控件,微调控件用于接受给定范围之内的数值输入。它既可用键盘输入,也可单击该控件的上、下箭头按钮来增减其当前值。,基本控件 微调控件,微调控件的常用属性: Value:表示微调控件的当前值。 KeyBoardHighValue:设定键盘输入数值高限。 KeyBoardLowValue: 设定键盘输入数值低限。 SpinnerHighValue: 设定按钮微调数值高限。 SpinnerLowValue: 设定按钮微调数值低限。 Increment:设定按一次箭头按钮的增减数,默认为1.00。 InputMask:设置输入掩码。若微调控件绑定到表的字段,则输入掩码位数不得小于字段宽度。 controlsource :数据控制源。,基本控件 列表框,列表框提供一组条目,用户可以从中选择一个或多个条目。主要用来显示选择项,并且维护其ControlSource属性所结合的数据。列表框控件可同时显示图形与项目文字,可以多重选择,并具有移动项目位置的功能。,基本控件 列表框,列表框对象的常用属性设置: RowSourceType:指明列表框中条目的数据源类型 RowSource:指定列表框中条目的数据源 Columncount:一个条目中包含的数据项数目 ControlSource:列表框指定要绑定的数据源 Value:返回列表框中被选中的条目 MultiSelect:是否可进行多重选定。多选用Ctrl List:列表框中数据条目的字符串数组 ListCount:指明列表框中数据条目的数目 Selected:指明列表框的某个条目是否被选中。是个数组,基本控件 组合框,组合框兼有列表框与文本框的功能,也是用于提供一组条目供用户从中选择。 有两种形式,通过设置组合框的Style属性来选择”, 下拉列表框: 列表框与下拉列表框都仅有选项功能。 下拉组合框:下拉组合框允许键入数据项。 列表框与组合框都有一个供用户选项的列表,但两者有两个区别:列表框任何时候都显示它的列表;组合框平时只显示一个项,待用户单击它的向下按钮后才能显示可滚动的下拉列表。 组合框对象的常用属性设置 列表框的属性除多重选择外,都适合组合框,基本控件 计时器,计时器控件是由系统时钟控制,用于按时间决定是否启动一个定时事件,在应用程序中用来处理可能反复发生的动作。 计时器的两个关键属性: Enabled:如果希望在表单装入后立即启动计时器,则把该属性设置为.T.-真;否则把它设置为.F.-假,然后用一个外部事件(如单击命令按钮)来启动计时器。 Interval:设置两个计时器事件之间的时间间隔(单位为毫秒)。 计时器的一个重要事件: Timer:每隔Interval属性设置的时间间隔,该事件将由系统触发一次。,注意:计时器事件是周期性的,间隔长度越小,事件产生就越频繁,响应事件所花费的时间就越多,这将会使应用程序的整体性能下降。所以一般不要设置很小的间隔。,建立一个新表单JSQ.SCX,添加一个标签控件 设置标签控件的属性: AutoSize:.T.-真; Caption:人事工资管理系统; FontName:隶书; FontSize:30; 添加一个计时器控件 设置计时器控件的属性: interval属性值为:100;,设置计时器控件的Timer事件的代码为: a=Thisform.Label1.Left+5 IF aThisform.Width a=-Thisform.Label1.Width ENDIF Thisform.Label1.Left=a,如图所示,容器型控件 命令组,包含一组命令按钮的容器控件。命令组和命令组中的每一个按钮都有自己的属性、方法和事件。 选项按纽组对象的常用属性设置: Button Count:指定命令组中命令按钮的数目 Buttons:存取命令组中各按钮的数组。 Value:指定命令组当前的状态。,容器型控件 选项按纽组,选项按纽组是相互排斥的选项按纽。在选择按纽组中,每次只能选择一个选项,即只能多中选一。 选项按纽组也是一种容器类控件,创建一个选项按纽时,系统默认包含两个选项按纽,同时可以使用生成器为选项按纽组设置常用属性。 选项按纽组对象的常用属性设置: Button Count:指定选项按纽组中按钮的数目 Buttons:存取选项按纽组中各按钮的数组。 Value:指定命令组当前的状态。 ControlSource:指定要绑定的数据源,容器型控件 表格,表格用于显示数据库表中的字段,用户可以修改表格中的数据。表格包含列,这些列除了包含列标题和列控件外,每一个列还拥有自己的一组属性、事件和方法,其中表格和列都是容器 表格生成器的使用 在表格控件上单击右键,选择生成器 可视方法调整表格的行高、列宽 在表格控件上单击右键,选择编辑,用鼠标进行调整,容器型控件 表格,常用的表格属性 RowSourceType和RowSource ColumnCount LinkMaster ChildOrder RelationalExpr 常用的列和标头属性 ControlSource CurrentControl Sparse Caption Alignment,容器型控件 页框,页框是包含页面的容器,用户可以在页框中定义多个页面,以生成带选项卡的对话框。包含多页的页框可起到扩展表单面积的作用。 常用的页框属性 PageCount Pages Tabs TabStretch,面向对象编程的步骤,面向对象的一般步骤为: (1)建立应用程序的用户界面,主要是建立表单,并在表单上安排应用程序所需的各种对象(由控件创建)。 (2)设置各种对象(表单及控件)的属性。 (3)编写事件或方法程序代码。,面向对象编程的步骤,例。输入圆的半径,计算圆的面积。 设计步骤如下: (1)建立应用程序用户界面。选择“新建”表单,进入表单设计器,增加两个文本框空间text1和text2,两个标签控件label1和label2,一个命令按纽Command1。,面向对象编程的步骤,面向对象编程的步骤,(3)编写程序代码。 Command1的Click事件代码: R=val(THISFORM.Text1.Value) THISFORM.Text2.Value = str(R2*3.14,7,2) (4)以文件名QYML保存该表单,运行即可。,面向对象编程的步骤,面向对象编程的步骤,在面向对象的程序设计中常常需要引用对象,或引用对象的属性、事件与调用方法程序。下面是介绍对象的引用格式: 1、对象引用规则 (1)通常用以下引用关键字开头: THISF

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论