数据库原理第7章可视化程序设计.ppt

上传人:tian****1990 文档编号:11536431 上传时间:2020-04-27 格式:PPT 页数:60 大小:2.92MB
返回 下载 相关 举报
数据库原理第7章可视化程序设计.ppt_第1页
第1页 / 共60页
数据库原理第7章可视化程序设计.ppt_第2页
第2页 / 共60页
数据库原理第7章可视化程序设计.ppt_第3页
第3页 / 共60页
点击查看更多>>
资源描述
第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过程的调用方式也有所不同。事件集合虽然范围很广却是固定的,用户不能创建新的事件,然而方法程序集合却可以无限扩展。,核心事件(适用于大多数的控件),7.2.类的创建,可视化程序设计开发数据库应用系统,通常是把常用的对象定义成一个类,再根据需要在这个类的基础上,派生出一个或多个具体对象,最后利用这些对象来设计数据库应用系统程序。这样做的好处提高编程效率,方便维护。,1创建类,创建一个新类,有三种方法:(1)使用类设计器(2)在表单设计器中定义类(3)使用DefineClass定义类,(1)使用类设计器,createclass或createclassof,(2)在表单设计器中定义类,在“表单设计器”中,通过添加控件和交互式、可视地设置类的属性来定义,在7.4节会详细讲述。,(3)使用DefineClass定义类,通过DefineClass命令编程方式来定义。命令格式如下:defineclassasobject.property=expressionaddobjectaswithpropertylistprocedurenameendprocedureenddefine,【例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)使用命令modifyclass,3创建类定义的子类,可以使用两种方法创建用户自定义类的子类:(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,设置对象的属性的简化方法,简化方法withendwith例如:withform1.caption=我的表单.backcolor=rgb(128,128,0)endwith,7.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表单管理,7.4.5保存和运行表单,保存表单就是将设计好的表单保存到表单文件(.scx)中,从“文件”菜单中选择“保存”或按Ctrl+W键,首次保存还需要输入文件主名。运行表单的方法有多种:(1)从“项目管理器”中运行。(2)从“表单”菜单中选择“运行表单”菜单项。(3)在“表单设计器”中右击,弹出快捷菜单选择“运行表单”菜单项。(4)单击工具栏上的运行命令按钮(红色“!”按钮)。(5)使用命令运行表单,命令格式如下:doform表单名,7.4.6创建表单集,VFP中,可以将多个表单包含在一个表单集,这样可以对表单集中的所有表单进行统一操作。譬如:一起显示或隐藏表单集中的表单,统一控制和安排这些表单的相对位置,在表单集上设置数据环境等。启动运行表单集时,表单集中的所有表单将一起装入内存。创建表单集:从“表单”菜单中选择“创建表单集”菜单项就可以创建。创建了表单集后,使用“表单”菜单中的“添加新表单”菜单项就可以将表单添加到表单集,使用“移去”菜单项可以从表单集中移去表单。,7.5常用控件及其应用,常用控件出现在表单控件工具栏的控件,当鼠标指针在相应的控件并稍作停留时,该控件的名称会显示出来。,7.5.1标签控件,标签(Label)控件只用于显示文本类型的提示信息,本身没有数据处理的功能,也不能被直接编辑。(1)Caption:设置标签的标题,即标签显示的提示信息。(2)AutoSize:可以设置为真或假。为真时,控件的大小随文本的改变而变化;为假时控件的大小不随文本的变化而变化。(3)BackStyle:可以设置为0或1。为0表示无边框;为1时表示有固定单线。(4)WordWrap:确定标签上显示的文本是否换行,可以设置为真或假。,7.5.2文本框控件与编辑框控件,文本框(Text)控件是设计交互式应用程序所不可缺少的控件,可以输入至多255个字符的单行文本或多行文本,具有基本的文字处理功能,譬如:可以使用“剪贴板”。它常用于在运行时接受用户的输入文本,也可用于显示文本信息,是字符型字段默认绑定的控件。编辑框(Edit)控件同文本框控件的作用相同,用于输入或显示文本信息,但文本框至多只能接受255个字符,而编辑框控件可以接受多于255个字符,是备注型字段默认绑定的控件。编辑框有滚动条,当数据内容没有超过编辑区域时,该滚动条呈灰色,为不可用状态。,7.5.3命令按钮与命令按钮组控件,命令按钮与命令按钮组控件用于在人机交互界面上触发一些事件,以便完成所需的任务,譬如:释放表单,保存数据,取消输入等。命令按钮的提示信息可以是文本的,也可以是图形的。命令按钮组控件是一种容器,在其下一层次可以设定一组命令按钮。初学者常遇到不能选定容器中下一层次控件的情况,可以通过“属性”窗口中来选定或从鼠标右击容器控件弹出的快捷菜单中选择“编辑”菜单项,从命令按钮组中选择命令按钮的操作。,【例7.2】设计一个程序文件(.prg)内容的阅读器。该阅读器可以实现输入文件名或未输入文件名而直接单击“确定”来通过“打开”窗口选择文件,如果选择的文件存在,则在编辑框中显示内容。,7.5.4选项组控件与复选框控件,选项组(OptionGroup)控件是一个包含选项命令的容器,与命令按钮组控件相似,选项组对象的下一层是选项命令按钮对象。选项组控件用于多个值只能选取之一的情形,在选项命令按钮前的圆圈中黑点表示该项被选中。复选框(Check)控件用来在逻辑值真(.T.)和假(.F.)之间切换,多个复选框构成的复选框组允许选取多项,在选项前的方框中“”表示该项选中。复选框和选项组都为用户提供了友好、美观的界面,用户可以十分方便地通过鼠标准确输入。,【例7.3】设计一个客观题测试的简单系统。系统功能:根据参考答案来确定是单选题还是多选题;能够循环地选择数据表中所有的题目;可以判断是否选择正确,如果错误需要给出答案。题库数据表(TK.dbf)存放题目、选项、参考答案和选择。,7.5.5列表框控件与组合框控件,列表框(ListBox)用于显示一系列数据项,方便用户从中选择一项或多项。组合框(ComboBox)相当于文本框和列表框的组合,它有两种表现方式,一种是下拉组合框,另一个是下拉列表框,这两种方式的区别在于:利用下拉组合框可以通过键盘输入内容;而下拉列表框只能选择列表中的值,而无法进行输入。列表框与组合框功能相似,不同之处:(1)列表框可显示多个数据项,而组合框初始时只显示一个数据项,所以使用组合框可以节省界面。(2)列表框可选择多个数据项,而组合框只能选择一个数据项。(3)列表框不允许用户输入数据项,而组合框中的下拉组合框允许用户键盘输入。,数据源,数据源是使用列表框和组合框控件首先需要考虑的,它们的数据源是通过RowSource属性来设置,但必须与RowSourceType属性的设置相对应,否则表单不会正确运行。,【例7.4】设计一个下拉框和组合框测试的简单系统。,7.5.6图像控件,图像(Image)控件用于在表单上显示图像文件,譬如:.BMP、.GIF、.JPG或图标.ICO等类型的文件,不能对显示的图像进行编辑,使用该控件可以使界面显得更生动。常用的属性如下:(1)Picture:指定图像文件。(2)Stretch:指定图像文件大小的调整方式以适应图像控件区域的大小,该属性有三种取值:0、1或2。,7.5.7线条控件与形状控件,线条(Line)控件是一种图形控件,用于创建水平线、垂直线或对角线。由于不能对它进行编辑,如果需要对它进行修改,必须通过线条属性设置或事件过程来完成。形状(Shape)控件也是一种图形控件,同样不能对它进行直接编辑,也需要通过属性设置或事件过程来修改。它主要用于创建矩形、圆或椭圆形状的对象。,7.5.8微调控件,微调(Spinner)控件用于接收指定范围内的数值输入,通过在当前值的基础上做微小的增量(单击向上箭头)或减量(单击向下箭头)调节可以代替键盘输入,也可以通过键盘在微调控件框内直接输入数值。它的常用属性如下:1)Increment:指定微调控件向上或向下箭头的微调量,默认值为1.0。2)KeyBoardHighValue:指定在微调控件框中通过键盘可输入的最大值。3)KeyBoardLowValue:指定在微调控件框中通过键盘可输入的最小值。4)SpinnerHighValue:指定单击微调控件的向上箭头能调节的最大值。5)SpinnerLowValue:指定单击微调控件的向下箭头所能调节的最小值。它的常用事件如下:1)InteractiveChange:使用鼠标或键盘改变微调控件的值时触发该事件。,7.5.9OLE控件,OLE控件用于显示和操作OLE对象(是指可供链接或嵌入的对象),譬如:文本、声音、图像、动画或视频数据等。OLE对象是Windows环境下提供的实现程序间共享信息资源的一种手段,它可以分为OLE绑定型对象和OLE容器两类,前者仅用于将依附于数据表的通用字段中的OLE对象添加到表单中,它也是将通用字段中的OLE对象添加到表单中的唯一方法;后者将不依附于数据表的通用字段的OLE对象添加到表单中。,7.5.10页框控件,页框(PageFrame)控件是包含页面的容器控件,而页面中又可以包含控件。一个页框控件可以包含有两个以上的页面,这些页面共同占用表单的一块区域,在任何时刻只有一个页面是活动页面,只有活动页面中的控件才是可见的,通过页框中的页面标题可以方便地完成页面的快速切换。,【例7.5】使用页框控件设计界面,第1个页面通过微调设置一个形状的曲率并显示图形;第2个页面通过命令按钮组的选择显示图像的裁剪、等比填充或变比填充;第3个页面根据设定的参数画线显示线条。第4个页面插入日历OLE控件。,7.5.11计时器控件,计时器(Timer)控件用于通过时间间隔自动触发事件,常用于控制定时执行某些重复的操作,它在运行时是不可见的,具有如下常用属性:(1)Interval:设置计时器的时间间隔,单位为毫秒。(2)Enabled:设置计时器的有效性,为.T.时表示计时器控件在表单加载时就开始工作,为.F.时挂起计时器的运行。它的常用事件如下:(1)Timer:当经过Interval属性指定的毫秒数时触发该事件。,【例7.6】有一个自由表(zp.dbf),其中包括如下字段:图片(G,4)、说明(M,4)。表中的记录内容包括图片和图片的说明。设计一个界面,单击“下一幅”按钮时,显示下一副图片和该图片对应的文字说明,如果已经显示到了最后一幅,继续单击该按钮转回显示第一幅。勾选了“自动”复选框,则每隔大约2秒自动转入下一幅图片,如果不勾选“自动”复选框,则需要单击“下一副”按钮才能转入下一副。,7.5.12表格控件,表格(Grid)控件类似于浏览窗口,具有网格结构、垂直和水平滚动条,可以同时操作和显示多行数据。它是一个包含列控件的容器控件,其中每列又包括标头(Header)和其他控件,譬如:文本框、复选框、下拉框、微调等,并且每列还拥有自己的一组属性、事件和方法。表格控件不仅可以在表单中静态地设计,也可以通过编写代码在运行时动态地设计。表格控件的数据源通过RecordSourceType与RecordSource两个属性指定。,7.5.13容器控件,容器(Container)控件可以包含其他控件并且允许编辑和访问所包含的控件,使用它可以将多个控件组合在一起方便统一操作和处理。表单设计时,为了编辑容器中的控件,可以单击鼠标右键,从弹出的快捷菜单中选择“编辑”命令。,【例7.7】有一个工资表(gz.dbf),其中包括如下字段:编号(C,4)、姓名(C,8)和工资(N,8.2)。设计一个表单完成工资查询功能:输入工资范围,在表格中浏览符合该范围的记录。,本章小结,一个对象是既包含数据(也称属性),又包含处理该数据代码(也称方法)的一个逻辑实体。类是对象的抽象,对象是类的实例。类不能直接被引用,由类创建的对象才能被引用,所以,对象的过程代码设计特别重要。创建表单的过程就是添加控件、定义控件的属性、确定事件或方法程序代码的过程。熟练掌握常用控件的使用是表单设计和学习新控件的基础。,作业,P1827.1至7.11,
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!