第七、八章 面向对象程序设计与表单设计

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第七、八章面向对象程序设计与表单设计一、面向对象程序设计1.基本术语2.VFP可视化编程步骤二、表单设计•传统的编程方法采用面向过程、按顺序进行的机制,设计人员始终要关心什么时候发生什么事情,程序必须有一个完整的开始、中间和结束过程。•面向对象的程序设计方法采用由用户或系统触发事件来驱动程序的机制,设计人员不必考虑程序执行的精确顺序,只需编写响应用户动作的程序。一、面向对象程序设计(1)对象(Object)对象是反映客观事物属性及行为特征的描述。每个对象都具有属性和行为。在程序设计中:实体——对象,状态——属性,行为——方法。(2)对象的属性(Property)属性:是对象所具有的物理性质及其描述。VFP中,表单对象有高度、宽度、标题等属性1.基本术语(3)事件(Event)事件是每个对象能用以识别和响应的动作。事件可以由系统引发,如Load,Init;事件也可以由用户引发,如Click,Mousemove。在VisualFoxPro系统中,对象可以响应50多种事件。当事件发生时,将执行事件过程中的代码。(4)方法程序(Method)方法是对象在事件触发时的行为和动作,是对象本身所内含的一些特殊函数或过程,利用这些内部自带的函数或过程,可以实现一些特殊的功能或动作。如Hide,Relese,Refresh。(5)类(class)类是具有共同属性、共同操作性质的对象的集合。是定义了关于对象的特征和行为的模版。对象都是由类生成的,类定义了对象所有的属性、事件和方法,从而决定了对象的属性和它的行为。对象是类的实例。类的特征封装性(Encapsulation)是指类的内部信息对用户是隐蔽的。在使用类时,用户不需熟悉对象内部的复杂性,只需掌握类的使用方法。继承性(Inheritance)指通过继承关系利用已有的类构造新类。有了类的继承,用户在编写程序时,可以把具有普遍意义的类通过继承引用到程序中,从而减少代码的编写工作。VFP中的基类(baseclass)基类是VFP预先定义的类。基类又分成容器类和控件类:容器类(Containers):可以容纳其它对象,并允许访问所包含的对象。(p185)控件类:不能容纳其它对象,由控件类创造的对象,是不能单独使用和修改的,它只能做为容器类中的一个元素,通过由容器类创造的对象修改或使用。(p186)2.VFP可视化编程步骤建立应用程序的用户界面–建立表单–在表单上安排对象(控件)–设置属性–编写代码表单及其控件对象图示表单编辑框标签文本框列表框图像复选框单选钮命令按钮组属性说明属性说明Caption指定对象的标题Alignment指定对象文本的对齐方式Name指定对象的名字AutoSize是否自动调整大小以适应内容Value指定对象当前的取值Height指定屏幕上一个对象的高度Format指定对象的输入和输出格式Width指定屏幕上一个对象的宽度InputMask指定在控件中如何输入和显示数据Left对象左边相对于父对象的位置PasswordChar指定在文本框中是否使用占位符Top对象上边相对于父对象的位置ReadOnly指定用户是否可以编辑控件Movable运行时表单能否移动FontName指定对象文本的字体名Closable标题栏中关闭按钮是否有效FontSize指定对象文本的字体大小ControlBox是否取消标题栏所有的按钮ForeColor指定对象中的前景色MaxButton指定表单是否有最大化按钮BackColor指定对象内部的背景色MinButton指定表单是否有最小化按钮BackStyle指定对象背景是否透明WindowState指定运行时是最大化或最小化BorderStyle指定边框样式Visible指定对象是可见还是隐藏AlwaysOnTop是否处于其他窗口之上Enabled指定对象是否可用1.设置属性1)通过属性窗口设置。常用的表单属性2)在程序中设置属性的一般格式:表单名.对象名.属性名=属性值应用方式:绝对引用,相对引用(p196)对象的引用实例(p196)–THISFORM.Cmd1.Caption=“关闭”•将本表单的名为Comd1对象的标题(Caption)属性设为“关闭”–THIS.Caption=“关闭”•将当前对象的标题(Caption)属性设为“关闭”–THIS.Parent.BackColor=RGB(192,0,0)•将本对象的父对象的背景色设置为红色。–THISFORM.Refresh•刷新当前表单2.编写代码为对象编写事件过程或方法常用的表单事件事件事件的激发事件事件的激发Load在创建对象之前GotFocus对象接收到焦点Init当对象创建时(在Load之后)LostFocus对象失去焦点Destroy释放一个对象时KeyPress当用户按下或释放一个键Unload释放所有对象后(在Destroy之后)MouseDown当用户按下鼠标键Click用户鼠标单击对象MouseMove当用户移动鼠标到对象DblClick用户鼠标双击对象MouseUp当用户释放鼠标RightClick用户鼠标右击对象Error当发生错误时常用的表单方法程序方法程序用途方法程序用途AddObject在表单对象中增加一个对象Move移动一个对象Box在表单对象上画一个矩形Print在表单对象上打印一个字符串Circle在表单对象上画一段圆弧或一个圆Pset给表单上的一个点设置一个指定的颜色Cls清除一个表单中的图形和文本Refresh重新绘制表单或控件,并更新所有值Clear清除控件中的内容Release从内存中释放表单或表单集Draw重新绘制表单对象SaveAs将对象存入.SCX文件中Hide隐藏表单、表单集或控件Show显示表单Line在表单对象上绘制一条线表单(Form)是具有自己的控件、属性、事件、方法程序和数据环境的容器对象。是应用程序的重要组成部分,是真正面向对象的编程工具。表单设计充分体现了VFP面向对象程序设计的风格和可视化设计的精髓所在。二、表单设计VisualFoxPro提供了两种表单向导来创建表单:“表单向导”:创建基于一个表的表单。“一对多表单向导”:创建基于两个表(按一对多关系链接)的表单。1.表单向导(1)表单向导例1:用“表单向导”建立学生基本情况表单。具体操作步骤如下:(1)单击“文件”中“新建”命令,在弹出的“新建”对话框中选择表单,单击“向导”按钮,打开“向导选取”窗口,如图1(2)在“向导选取”对话框中选择“表单向导”,单击“确定”按钮,创建一个能对一个数据表进行简单操作的表单,如图2图2“字段选取”对话框图1“向导选取”对话框(3)在“字段选取”对话框中,选择作为数据资源的数据库和表,然后在可用字段列表框中,选择将出现在表单中的字段。如图3所示。(4)在“表单向导”对话框中,任选一种表单样式和按钮类型。如图4所示。图3“选择表单样式”对话框图4“排序次序”对话框(5)在“可用字段或索引”列表框中选择字段“学号”建立索引,如图5所示。(6)在“表单向导”窗口中,定义表单标题,完成向导并存盘。在退出表单向导之前,可以单击对话框右下角的“预览”按钮预览表单。如图6所示。图5“完成”对话框图6“学生基本情况”表单的预览效果(2)用向导建立一对多表单例2:用表单向导建立学生成绩表单。具体操作步骤如下:(1)单击“文件”中“新建”命令,在弹出的“新建”对话框中选择表单,单击“向导”按钮。(2)在“向导选取”对话框中,选择“一对多表单向导”,单击“确定”按钮。图7“一对多表单向导”对话框(步骤1)图8“一对多表单向导”对话框(步骤2)(3)在“一对多表单向导”对话框(步骤1,如图7)中,选择用于创建表单的父表(学生表)及相应字段(姓名)。(4)在“一对多表单向导”对话框(步骤2,如图8)中,选择用于创建表单的子表(选课表)及相应字段(课程号,成绩)。(5)在“一对多表单向导”对话框(步骤3,如图9)中,建立父表和子表之间的关联,然后单击“下一步”按钮。(6)选择表单的样式与单表相同。(7)选择排序依据字段与单表类似。(8)完成,预览,如图10所示。图9“一对多表单向导”对话框(步骤3)图10“学生基本情况”表单的预览效果表单的数据环境是指在创建表单时需要打开的全部表、视图和关系。通过数据环境,将表单和数据库联系起来,在表单上以某种形式将数据表或视图中的数据表示出来。打开数据环境设计器的方法有:(1)选定“显示”菜单中的“数据环境”命令。(2)选定表单快捷菜单中的“数据环境”命令。2.数据环境设计器数据环境设计器数据环境设计器可以进行以下操作:(1)添加表或视图。(2)从“数据环境设计器”中拖动表和字段。(3)从“数据环境设计器”中移去表或视图。(4)在数据环境中设置关系。(5)在数据环境中编辑关系。

1 / 23
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功