版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第五章面向对象程序设计与表单制作一、面向对象程序设计的基本概念面向对象的程序设计是可视化的交互式程序设计,其基本出发点是:尽可能按人类认识世界的方法和思维方式来分析问题、解决问题。矚慫润厲钐瘗睞枥庑赖。1.对象(Object)对象是一种将数据和操作过程结合在一起的数据结构,是现实世界中待处理的客观实体的抽象描述。凡是我们要处理的事物都可成为处理的对象,包括可见的人、汽车、电话等,不可见的事物如感情、思想等。在VFP中,常见的对象是表单、标签、文本框、复选框、列表框等。聞創沟燴鐺險爱氇谴净。对象容器类对象:可以容纳其它对象的对象,如表单(可容纳任何对象)、表格(容纳表格列)对象容器类对象:可以容纳其它对象的对象,如表单(可容纳任何对象)、表格(容纳表格列)、命令按钮组(容纳命令按钮)控件对象:表单上显示数据和执行操作的基本对象,如标签、文本框、列表框等(它们不再含任何对象)。2.对象的属性(Property)属性是描述对象的物理特征的值,如文本框有名字(Caption)、数据源属性(ControlSource)等。而复选框具有文本框有名称(Name)、可选状态(Enabled)和可见性(Visable)属性等。酽锕极額閉镇桧猪訣锥。由此可见对许多对象来讲,有些属性是相同的,具有通用性,如Caption(指定对象的标题)、Name(指定对象的名称)、Visible(指定对象是可见还是隐藏)、Value(指定对象当前的取值)等。另外一些属性具有特殊性,是针对一些具体的对象的。如数据源属性(ControlSource)是针对文本框等对象的。彈贸摄尔霁毙攬砖卤庑。表单及控件的属性可以通过属性窗口在设计时设置,也可通过编写代码在表单运行时设置(见后)。3.对象的事件(Event)事件是由对象识别的一个动作,泛指由用户或系统触发的一个特定动作。它多数情况下由用户交互操作时的动作产生,如用鼠标单击(Click)、双击(DblClick)、按键(KeyPress)、移动鼠标(MouseMove)和初始化(Init)都是激发事件的动作。一个对象可有多个事件,但每一事件都是由系统规定的。一个事件也可由程序代码和系统产生。謀荞抟箧飆鐸怼类蒋薔。4.事件代码(方法)(Method)事件代码是一组操作代码,它与对象相关联。当一个对象的事件出现时,为事件编写的代码将随之执行,即要执行事件代码。所以事件代码应事先在代码编辑窗口中编写好,且编写中可以调用方法程序(用户在代码编辑窗口中写入的代码相当于为该方法程序增强了功能)。厦礴恳蹒骈時盡继價骚。对象、事件、事件代码和方法的关系如下:事件Click事件ClickClick方法程序(VFP内定)代码编辑窗口注意以下说法:为事件编写代码方法程序不可见,但可以通过代码编辑窗口对其进行增加。用户在代码编辑窗口中写入的代码相当于为该方法程序增强了功能茕桢广鳓鯡选块网羈泪。为事件编写的方法将在事件出现时执行方法也可以独立于事件而单独存在,此类方法必须在代码中被调用。代码编写中需要引用对象、对象的属性、事件和方法程序。引用方式有两种:绝对引用和相对引用(类似于DOS中的绝对路径和相对路径,只不过把“\”换成了“.”。绝对引用时,必须指明与该对象关联的所有容器对象,如使表单(form1)的命令按钮command1的caption的属性变为“退出”应写为:mand1.caption=“退出”鹅娅尽損鹌惨歷茏鴛賴。若用相对引用方法,应写为:mand1.caption=“退出”,当正在编辑command1的事件代码时甚至可直接写为:this.caption=“退出”籟丛妈羥为贍偾蛏练淨。常用关键字:thisform当前表单(包含该对象的表单)this当前对象(本对象)parent对象的上一层包容对象引用格式:引用关键字后加一个点号,再写出被引用对象或对象的属性、事件或方法程序除在属性窗口中设置、修改对象的属性外,也可通过代码编写让表单运行时设置和修改,如:mand1.caption=“退出”預頌圣鉉儐歲龈讶骅籴。thisform.label1.visible=.t.thisform.check1.value=1调用(引用)方法:form1.show显示表单form1thisform.release释放当前表单thisform.refresh刷新当前表单5.类(Class)与子类类是具有相同属性、共同操作性质的对象的集合。类是对象的抽象描述,对象则是类的实例。类即是已经定义了对象特征和行为的模板,在表单控件工具栏中,每个控件按钮都代表一个类,用其中一个按钮在表单上创建一个控件就是一个对象。由此可看出:渗釤呛俨匀谔鱉调硯錦。.类是对象的定义,它规定并提供了对象具有的属性、事件和方法程序。.对象通过类来产生。①基类:由VFP定义的类,如表单控件工具栏中的类。②子类:以其他类定义为起点,对某一对象所建立的新类。一个子类可以拥有其父类的全部功能,在此基础上,可添加其他控件或功能。铙誅卧泻噦圣骋贶頂廡。⑴类的特性类具有继承性、封装性和多态性。.继承性:继承性的概念是使在一个类上所做的改动反映到它的所有子类当中。.封装性:封装就是指将对象的方法程序和属性代码包装在一起。例如用户可以把确定列表框选项的属性和选择某选项时所执行的代码封装在一个控件里,然后把该控件加到表单中。擁締凤袜备訊顎轮烂蔷。⑵基类、子类和对象的关系:基类子类对象基类子类对象二、表单设计(以下内容以上机操作为主,仅作一般性学习)表单是VisualFoxPro提供的最常见的数据交互式操作界面,各种对话框和窗口是表单的不同表现形式。表单设计充分体现了面向对象程序设计的风格,是VisualFoxPro可视设计的精华所在。表单为数据库信息的显示、输入和编辑提供了非常简便的方法,表单的设计是可视化编程的基础。贓熱俣阃歲匱阊邺镓騷。表单是VisualFoxPro常用的具有自己的控件、属性、事件、方法程序、数据环境的容器对象。1.表单控件表单中使用的控件是提供给用户的基于标准化图形界面的多功能、多任务的操作工具。表单中的控件有两类:与数据绑定的控件和不与数据绑定的控件。与数据绑定的控件与数据源(表、视图或表和视图的字段或变量等)有关,这类控件需要设置控制源(ControlSouree)属性,用户使用与数据绑定的控件可以将输入或选择的数据送到数据源或从数据源取出有关数据。另一类不与数据绑定的控件不需要设置控制源(ControlSource)属性,用户在控件输入或选择的值只作为属性设置,该值不保存。表单中常用的控件如下表所示。坛摶乡囂忏蒌鍥铃氈淚。表单常用控件控件功能控件功能Label创建用于显示正文内容的标签Spinner创建微调控件Textbox创建文本框Shapc创建显示方框、圆或椭圆的Shape控件ListBox创建列表框Grid创建表格Ebfflox创建编辑框PagcFram~创建包含若干页的页框ComboBox创建组合框Image创建用于显示。BMP图片的图像控件CheckBox创建复选框Timer创建能在一定时间执行代码的定时器CommandButton创建命令按钮Linc创建显示水平、垂直、或斜线的控件CommandGroup创建命令按钮组OLE创建OLE容器控件OptionButton创建选项按钮OLEBound创建OLE绑定型控件OpUonGmup创建选项按钮纽2、表单属性表单的属性用于定义表单及其控件的性质、特征。每个表单及其控件都有它的一组属性。通常这些属性的大多数都是相同的。表单及控件的属性可以通过属性窗口在设计时设置,也可通过编写代码在表单运行时设置。表单和控件中有些属性具有通用性,另外一些属性具有针对性(将在具体控件使用时介绍)。下表所列的部分属性是具有通用性的属性。蜡變黲癟報伥铉锚鈰赘。常用表单及控件属性属性说明属性说明Caption指定对象的标题Width指定屏幕上一个对象的宽度Name指定对象的名字Left对象左边相对于父对象的位置Value指定对象当前的取值Top对象上边相对于父对象的位置FontName指定对象文本的字体名Movable运行时表单能否移动FontSize指定对象文本的字体大小Closable标题栏中关闭按钮是否有效ForeColor指定对象中的前景色Controlbox是否取消标题栏所有的按钮BackColor指定对象内部的背景色MaxButton指定表单是否有最大化按钮BorderStyle批定边框样式MinButton指定表单是否有最小化按钮AlwaysOnTop是否处于其他窗口之上WindowStatc指定运行时是最大化或最小化AutoCenter是否在VisualFoxPro主窗门内自动居中Visible指定对象是可见还是隐藏Height指定屏幕上—个对象的高度3.表单事件表单的事件是表单及其控件可以识别和响应的行为和动作。每个表单及其控件都有多个事件,每个事件都是由系统事先规定的。一个事件对应于一个程序,称为事件过程。事件一旦被触发,系统马上就去执行与该事件对应的过程。待事件过程执行完成后,系统又处于等待某事件发生的状态,这种方式称为事件驱动方式。表单中常用事件如下表所示。買鲷鴯譖昙膚遙闫撷凄。事件事件的激发事件事件的激发Init当对象创建时激活GotFocus对象接收到焦点Load在创建对象之前LostFocus对象失去焦点Unload释放对象时KeyPress当用户按下或释放一个键Destroy当对象从内存释放时激活MouseDown当用户按下鼠标键Click用户鼠标单击对象MouseMove当用户移动鼠标到对象DblClick用户鼠标双击对象MouseUp当用户释放鼠标RightClick用户鼠标右击对象Error当发生错误时4、表单方法程序表单的方法程序是对象能够执行的、完成相应任务的操作命令代码的集合,是VisualFoxPro为表单及其控件内定的通用过程。方法程序过程代码由VisualFoxPro系统定义,对用户是不可见的,但可以通过代码编辑窗口对其进行增加。下表给出了表单中常用的方法程序。綾镝鯛駕櫬鹕踪韦辚糴。方法程序用途方法程序用途AddObject在表单对象中增加一个对象MOve移动一个对象BOX在表单对象上画—个矩形Print在表单对象上打印一个字符串Circle在表单对象上画一段圆弧或一个圆Pset给表单上的一个点设最一个指定的颜色Cis清除一个表单中的图形和文本Refresh重新绘制表单或控件,并更新所有值Clear清除控件巾的内容Release从内存中释放表单或表单集Draw重新绘制表单对象SaveAs将对象存入SCX文件中Hide隐藏表单、表单集或控件Show显示表单并确定该表单是模态还是非模态Line在表单对象上绘制一条线5.表单数据环境每一个表单或表单集都包括一个数据环境。表单的数据环境是指在创建表单时需要打开的全部表、视图和关系。在表单的数据环境中,可以添加与表单相关的数据表或视图,并设置好表单、控件与数据表或视图中字段的关联,形成一个完整的数据体系。下表给出了常用的数据环境属性和与表单及控件的数据源相关的属性。驅踬髏彦浃绥譎饴憂锦。属性说明AutoOpcnTables控制当运行表单时,是否打开数据环境的表或视图AutoCIoseTables控制当释放表或表单集时,是否关闭表或视图InitialSclcctedAlias当运行表单时,选定的表或视图Filer排除不满足条件的记录ControlSource指定与文本框、编辑框、列表框,组合框及表格中的一列等对象建立联系的数据源(字段)CursorSource指定与临时表相关的表或视图的名称RecordSourcc指定与表格控件建立联系的数据源(表或视图)RecordSourccTYpe指定与表格控件建立联系的数据源打开的方式RoWSource指定组合框或列表框的数据源RowSourceType指定组合框或列表框的数据源类型数据环境的设置过程:①打开数据环境设计器②向数据环境添加表或视图③设置关系④向表单添加字段;6.表单制作表单设计中经常使用的主要设计工具有:表单设计器、表单向导、属性窗门、生成器、数据环境设计器、对话框、控件工具栏、布局工具栏、调色板工具栏、代码设计窗口、浏览器等。猫虿驢绘燈鮒诛髅貺庑。表单的设计过程可以分为以下几个步骤:(1)创建表单。(2)为表单添加控件。(3)设置表单的控件属性。(4)选择与控件相适应的事件。(5)为事件配制方法程序。(6)设置数据环境。在VisualFoxPro中,可以用下列方法生成表单:·使用“表单向导”。·通过“表单”菜单上“快捷表单”选项。·使用“表单设计器”。(用得最多!)·使用命令;CREATEFORM常用控件及常用属性:①标签:NAME(名称,依创建次序分别为Label1、Label2…)Caption(显示的标题,用户自行设置,缺省为Label1、Label2…)其它常用属性FontName(字体)、FontBold(粗细)、FontItalic(斜体)、FontSize(字号大小)锹籁饗迳琐筆襖鸥娅薔。②文本框:NAME(名称,依次为Text1、Text2…)ControlSource(文本框数据源,即数据环境中的字段)Value(文本框值,默认为空,表示字符型;0、{}、和.T.分别表数值型、日期型和逻辑型)PasswordChar(取“*”时用于密码输入)③命令按钮:NAME(名称,依次为Command1、Command2…)Caption(按钮上显示的标题,用户自行设置,缺省为Command1、Command2…)Enable(按钮是否可用,取.T.或.F.)Visible(按钮是否可见,取.T.或.F.)④命令按钮组:NAME(名称,依次为CommandGroup1、CommandGroup2…)ButtonCount(组中命令按钮个数)⑤复选框:NAME(名称,依次为Check1、Check2…)Caption(标题,用户自行设置,缺省为Check1、Check2…)Value(.T.或1时复选框中显示“∨”,表示选中。.F.或0时为空白,表示未选中;NULL或2时显示灰色)構
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 胆囊切除术前护理常规
- 2025年低空通信协议安全性增强
- 医学26年:低钾血症急救处理 查房课件
- 2026 减脂期教案课件
- 2026 减脂期代谢提升策略课件
- 鞋子防水防污护理方法
- 2026 增肌期粥品搭配调整课件
- 肿瘤晚期患者皮肤护理要点
- 2024年高新技术企业技术合作合同二篇
- 膀胱肿瘤患者的出院准备护理
- 4.《电子政务工程造价指导书》第4章和第5章
- GB/T 46075.1-2025电子束焊机验收检验第1部分:原则与验收条件
- 医疗废物与污水处理课件
- 黄茶课件教学课件
- 慢病管理指南更新-洞察及研究
- DB15T 3393-2024 绿色勘查技术规程
- 气道异物梗阻急救方法
- 医院药品效期管理课件
- 公务摄影培训课件下载
- 桂阳县五里山铜多金属矿矿山生态保护修复方案
- T/CCMA 0137-2022防撞缓冲车
评论
0/150
提交评论