您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 数据库原理第7章可视化程序设计.ppt
第7章可视化程序设计7.1面向对象的程序设计7.2.类的创建7.3.对象的操作7.4.表单设计7.5常用控件及其应用学习目标理解对象的概念;理解类的概念,掌握类的创建方法和对象创建的方法;理解并掌握新建属性和方法程序的方法;理解并掌握VFP提供29种基类;熟练掌握表单的设计与运行的方法;熟练掌握常用控件的使用方法。重点与难点重点在于面向对象的概念的理解、控件的设计和表单设计方法的掌握;难点在于面向对象的事件驱动程序的设计方法的掌握。7.1面向对象的程序设计面向对象的程序设计,不是单纯地从代码的第一行一直编到最后一行,而是考虑如何创建对象,用对象的概念来思考,简化了程序设计,提供代码的可重用性。所以对象的概念是面向对象的程序设计的核心。7.1.1对象对象是反映客观事物属性及行为特征的描述。一个对象是既包含有数据(也称属性),又包含有处理该数据代码(也称方法)的一个逻辑实体。在VFP中,各种对象拥有70多个属性,对象的属性可以在设计对象时定义,也可以在对象运行时进行设置。对象支持封装性、多态性与继承性。7.1.2类类是一组对象的属性和行为特征的抽象描述,是具有共同属性和行为特征的对象集合。类具有如下特征:封装性、可派生子类、继承性和隐藏不必要的复杂性等。在VFP系统中,类就像是一个模版(Template),对象是由类生成的,是类的实例。类定义了对象的公共属性、事件和方法,从而决定了对象的一般性的属性和行为。VFP系统提供了29个基类。VFP系统提供的29个基类它们可以分为容器类和控件类。(1)控件类(ControlObjectClass):是封装严密、没有方法程序和不能容纳其他对象。譬如:文本控件。(2)容器类(ContainerClass):可以包含其他对象,并且允许访问所包含的对象。譬如:表单类可以允许添加其他控件到它里面。7.1.3事件与方法事件(Event)是每个对象可能用以识别和响应的某些行为和动作,它是一种预先定义好的特定动作,由用户或系统激活,在多数情况下,它是通过用户的交互操作产生的。在VFP中,对象可以响应50多种事件。方法(Method)是附属于对象的行为和动作。方法程序是与对象相关联的过程,但又不同于一般的VFP过程。方法程序紧密地和对象连接在一起,并且与一般VFP过程的调用方式也有所不同。事件集合虽然范围很广却是固定的,用户不能创建新的事件,然而方法程序集合却可以无限扩展。核心事件(适用于大多数的控件)事件事件被激发后的动作Init创建对象Destroy从内存中释放对象Click鼠标单击对象DblClick鼠标双击对象RightClick鼠标右击对象GotFocus对象接收焦点。由用户动作引起,如Tab键或单击,或在代码中使用SetFocus方法程序LostFocus对象失去焦点。由用户动作引起,如Tab键或单击,或在代码中使用SetFocus方法程序使焦点移到新的对象上KeyPress按下或释放键MouseDown当鼠标指针停在一个对象上时,用户按下鼠标按钮MouseMove用户在对象上移动鼠标Mouseup当鼠标指针停在一个对象上,用户释放鼠标按钮7.2.类的创建可视化程序设计开发数据库应用系统,通常是把常用的对象定义成一个类,再根据需要在这个类的基础上,派生出一个或多个具体对象,最后利用这些对象来设计数据库应用系统程序。这样做的好处提高编程效率,方便维护。1.创建类创建一个新类,有三种方法:(1)使用类设计器(2)在表单设计器中定义类(3)使用DefineClass定义类(1)使用类设计器createclass类名或createclass类名of类库名(2)在表单设计器中定义类在“表单设计器”中,通过添加控件和交互式、可视地设置类的属性来定义,在7.4节会详细讲述。(3)使用DefineClass定义类通过DefineClass命令编程方式来定义。命令格式如下:defineclass类名as父类名[object.]property=expression[addobject对象名as类名withpropertylist][procedurename命令序列endprocedure]enddefine【例7.1】定义一个带有命令按钮(“关闭”)的容器类“exitform”。defineclassexitformasformvisible=.t.caption=退出left=20top=10height=223width=443addobjectcomm1ascommandbutton;withcaption=关闭,left=300,top=150,height=25,width=60procedurecomm1.clickreleasethisformendprocedureenddefine类定义好了以后就可以由它来创建对象。2.修改类定义类定义后,还可以对它进行修改。对类的修改将影响所有的子类和基于这个类的所有对象,即所有子类和基于这个类的所有对象都将继承修改。修改类的方法有三种:(1)通过“项目管理器”,选择待修改的类,单击“修改”以打开“类设计器”进行修改。(2)通过文件打开类库,选择修改的类。(3)使用命令modifyclass3.创建类定义的子类可以使用两种方法创建用户自定义类的子类:(1)在“新建类”对话框中,如图7.1所示,单击“派生于”框右边的对话框钮(…),在“打开”对话框中选择派生新类的父类。(2)使用CreateClass命令createclass子类名of类库名as父类名from存放类库的文件名4.“类”菜单打开类设计器,在VFP系统主菜单上出现了“类”菜单,该菜单中包括:新建属性、新建方法程序等,可以向定义的新类添加任意多的新属性和方法程序,属性保存值,而方法程序则保存调用时可以运行的过程代码。(1)新建属性Access和Assign方法程序的区别:当使用对象引用中的属性,将属性值存储到变量中,或用“?”命令显示属性值时,即在查询属性值时,执行Access方法程序中的代码;而当试图改变属性值时,将执行Assign方法程序中的代码。(2)新建方法程序7.3.对象的操作类是对象的抽象,对象是类的实例。类不能直接被引用,由类创建的对象才能被引用,所以,对象的过程代码设计特别重要。下面给出一些对象的基本操作命令。1.由类创建对象对象名=createobject(类名)2.设置对象的属性parent.object.property=value3.调用对象的方法parent.object.method设置对象的属性的简化方法简化方法with路径属性值表endwith例如:withform1.caption=我的表单.backcolor=rgb(128,128,0)……endwith7.4.表单设计在VFP中,表单(Form)是数据库应用系统的主要工作界面,也成为屏幕(Screen),保存的文件类型名为SCX就有这个意思。表单的设计是可视化程序设计的基础,也是学习可视化程序设计的最重要环节。表单是一个容器基类,具有多种属性,又可以在其中添加控件,可以响应多种事件实现多种操作。7.4.1创建表单创建表单的过程就是添加控件、定义控件的属性、确定事件或方法程序代码的过程。VFP中,可以使用以下任意一种菜单方式创建表单:(1)使用表单向导创建表单。(2)在“表单”菜单中选择“快速表单”命令,建立一个用户可以通过添加自己的控件来定制的简单表单。(3)使用“表单设计器”修改已有的表单或创建自己的表单。表单设计器createform表单名7.4.2定制表单新建的表单是一个空表单,还需对表单进行控件的添加和其属性与代码的设置,这一过程就是定制表单。包括:1.设置数据环境2.向表单中添加控件3.向表单中添加新的属性与方法4.定义表单的操作行为5.编辑事件代码或方法代码6.预定义常量1.设置数据环境设置数据环境就是指定与表单关联的表或视图。控件的属性ControlSource(数据源)把添加到表单中的控件与表或视图中的字段关联起来。在“表单设计器”中右击弹出一个快捷菜单,从其中选择“数据环境”就可打开“数据环境设计器”窗口。2.向表单中添加控件(1)使用表单控件工具栏(2)利用数据环境向表单中添加控件(3)使用表单生成器3.向表单中添加新的属性与方法4.定义表单的操作行为定义表单的操作行为是通过“属性”窗口设置,不同的控件可以有不同的属性、方法等。5.编辑事件代码或方法代码创建表单或向表单中添加控件后,如果要让它们“动起来”,必须编写事件代码或方法代码。进入代码编辑状态,有多种方法,其中鼠标双击相应的控件的方法最简便。6.预定义常量除了可以向表单添加属性变量,还可以预定义常量。预定义常量是通过“表单”菜单中的“包含文件”菜单项来实现的。包含的文件是指头文件,其内容是用宏命令定义常量,譬如:#defineE2.718。7.4.3修改表单如果使用向导或生成器建立的表单没有达到要求,还可以使用“表单设计器”进行修改:移动和调整控件的大小、复制或删除控件、对齐控件以及修改Tab键次序等等。注意:对控件进行操作前,首先需要选中控件。修改表单的基本操作1)选中控件:单击需要选定的控件就可以选中该控件。如果需要同时选中多个控件,只需在单击时按住shift键不放。2)移动控件:可以通过鼠标拖动选中的控件或用光标键上、下、左、右来移动。3)缩放控件:选中的控件四周有“尺寸柄”,往外拖动可以放大控件,往里拖动可以缩小控件。4)复制或删除控件:通过“剪贴板”可以复制或删除控件;对选定的控件,单击delete键也可快速删除控件。5)对齐控件:选定需要对齐的控件,使用布局工具按钮就可以对齐控件了。6)设置控件的Tab次序:Tab次序确定输入数据按Tab键下跳哪一个控件,而按Shift+Tab组合键回跳哪一个控件。设置方法:交互方式或列表方式。7.4.4表单管理管理项命令说明隐藏表单ThisForm.Hide显示表单ThisForm.Show传递参数DoFormwith张三,20在表单的init事件代码中包含如下语句:ParametersCstring,nNumberThisForm.cName=CstringThisForm.nAge=nNumber其中:cName、nAge是添加的属性。返回值DoFormFindNowith张三,20ToStudentNo将命令表单FindNo查找到的学号存入内存变量StudentNo中。要求在FindNo的Unload事件代码中包含Return语句,且要求表单属性WindowType设置为1(模式)。关闭表单ReleaseFindNo或FindNo.release关闭表单FindNo属性设置ThisForm.Caption=查询ThisFormSet.Form1.Visible=.F.设置标题属性。设置表单集中的form1不可见。7.4.5保存和运行表单保存表单就是将设计好的表单保存到表单文件(.scx)中,从“文件”菜单中选择“保存”或按Ctrl+W键,首次保存还需要输入文件主名。运行表单的方法有多种:(1)从“项目管理器”中运行。(2)从“表单”菜单中选择“运行表单”菜单项。(3)在“表单设计器”中右击,弹出快捷菜单选择“运行表单”菜单项。(4)单击工具栏上的运行命令按钮(红色“!”按钮)。(5)使用命令运行表单,命令格式如下:doform表单名7.4.6创建表单集VFP中,可以将多个表单包含在一个表单集,这样可以对表单集中的所有表单进行统一操作。譬如:一起显示或隐藏表单集中的表单,统一控制和安排这些表单的相对位置,在表单集上设置数据环境等。启动运行表单集时,表单集中的所有表单将一起装入内存。创建表单集:从“表单”菜单中选择“创建表单集”菜单项就可以创建。创建了表单集后,使用“表单”菜单中的“添加新表单”菜单项就可以将表单添加到表单集,使
本文标题:数据库原理第7章可视化程序设计.ppt
链接地址:https://www.777doc.com/doc-5677318 .html