VFP表单控件资料.ppt_第1页
VFP表单控件资料.ppt_第2页
VFP表单控件资料.ppt_第3页
VFP表单控件资料.ppt_第4页
VFP表单控件资料.ppt_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

1 第六章面向对象的程序设计 2 本章要点 面向对象的概念VFP的基类对象的引用和处理建立表单管理表单运行表单常用表单控件 3 6 1类和对象 对象 Object 客观世界里的任何实体都可以被看作是对象 从编程的角度来看 对象包括数据及用来处理这些数据的方法 或者是一种具有属性 数据 和方法 过程和函数 的集合体 4 6 1类和对象 控件是显示数据和执行交互式操作使用的工具属性定义了对象的特征或某一方面的行为 事件是对象能够识别和响应的某些行为和操作 如 鼠标的拖动 事件的集合是固定的 用户不能创建新的事件 通常事件是由一个用户的动作产生的 也可以由程序代码或系统产生 方法 程序 是对象在事件发生时进行的功能实现性操作 它描述了对象执行操作的算法 方法的集合是可以无限制地扩展的 可以由用户自定义 数据环境是对象运行所依据的数据信息范围 5 类 是对一类相似对象的性质描述 这些对象具有相同种类的属性以及方法 就好比是一个摸板 现实世界 汽车计算机世界 COMMAND按钮 相同高度 样式等 对象是类的一个实例 类的类型 6 1类和对象 子类 Subclass 父类 6 类的四大特征 继承性 说明了子类延用父类特征的能力多态性 指一些关联的类包含同名的方法程序 但方法程序的内容可以不同 具体调用在运行时根据对象的类确定封装性 说明包含和隐藏对象信息 如内部数据结构和代码的能力抽象性 指提取一个类或对象与众不同的特征 而不对该类的所有信息进行处理 6 1类和对象 7 基类 VFP系统提供的类 VFP基类的种类 容器类控件类 包容其他类的基类 将容器类的对象无论在设计时还是在运行时 均可以将该容器类的对象作为一个整体进行操作 也可以分别对其包容的对象处理 可以包含在容器类中的基类 控件类不能包含其它对象 容器类对象控件类对象 6 2VisualFoxPro的基类 容器类包含的对象层次表书P151页 8 VisualFoxpro基类列表 B p150 9 6 3对象的创建和处理 利用VFP的基类创建基于该类的子类对象自定义类 编程方法利用可视化的开发工具 表单设计器 创建对象 6 3 1对象的创建 10 6 3 2对象的引用 B p152 必须清楚对象的容器层次关系和对象的名 指明对象的地址 规则 各个对象之间 对象与属性 方法 之间用 进行分隔 应用方式 1 绝对引用 从最高容器开始逐层向下直到某个对象 2 相对引用 从指定的参照对象算起 正在为编写事件代码的对象出发 直到目标对象为止的引用 参照关键字 只能在方法程序或事件处理代码中使用 如果要在命令按钮command1的事件 如单击事件 代码中修改该按钮的标题可用下列命令 this caption 确定 如果要在命令按钮command1的事件代码中修改命令按钮command2的标题可用下列命令 thisform Cmand2 caption 取消 mand2 caption 取消 mand2 caption 取消 如果要在命令按钮command1的事件代码中修改表单的标题可用下列命令 This Parent parent Caption 测试窗口 thisform caption 测试窗口 例 如果Form1中有一个命令按钮组commandgroup1 该命令按钮组有两个命令按钮 command1和command2 label1是表单form1上的一个标签控件 12 6 3 3对象属性的设置 属性由对象所基于的类决定 基类的最小属性集 Class 该类属于何种类型 BaseClass 该类的基类 ClassLibray 类库文件 ParentClass 该类的父类 设置对象属性可视化方法 在 表单设计器 属性 窗口进行 设计时设置编程设置 运行时进行设置 13 格式1 引用对象 属性 值例如 在上例表单中的命令按钮1的CLICK事件中设置 命令按钮2不可见 按钮1上的文字为 执行 高度为25 长度为210个像素 mand2 visible f this caption 执行 this Height 25this Width 210格式2 WITH引用对象 B p154 属性 值 属性 值 Endwith如上例可改成 WITHthis caption 执行 HEIGHT 25 WIDTH 210ENDWITH 编程设置对象的属性 14 事件是一种由系统预先定义而由用户或系统发出的动作 事件作用于对象 对象识别事件并作出相应反应用户不能自定义事件事件一般由用户或系统激活 可在对象的事件代码编辑窗口编写相应的事件代码 程序 来响应事件 基类的最小事件集 B p152 Init 当对象创建的时候激活 Destroy 当对象从内存中释放时激活 Error 当事件或方法程序中出现错误时激活 6 3 4对象事件及其代码的设置 15 VisualFoxPro中常用事件 P157 鼠标事件键盘事件表单事件控件焦点事件数据环境事件 16 鼠标事件 B p158 Click 鼠标左键单击对象时发生的事件 Dbclick 鼠标左键双击对象时发生的事件 Rightclick 鼠标右键单击对象时发生的事件 MouseMove事件 用户在一个对象上移动鼠标时发生 MouseDown事件 当用户按下一个鼠标键时发生 MouseUp事件 当用户释放一个鼠标键时发生 17 键盘事件 B p158 KeyPress事件 当用户按下并释放某个键时发生此事件 通常具有焦点的对象接收该事件 18 改变控件内容的事件 InteractiveChange事件在使用鼠标或键盘更改控件的值时发生 适用于 复选框 组合框 命令组 编辑框 列表框 选项组 微调 文本框 在每次交互更改对象时 都要发生此事件 ProgrammaticChange事件在程序代码中更改一个控件值时发生 其他同InteractiveChange事件 19 焦点事件 B p158 焦点 用以指出当前被操作的对象 GotFocus事件 当对象接收到焦点时发生 当表单没有控制或者它的所有控制已废止或不可见时表单才能接收焦点 当对象的Enabled属性和Visible属性均为 真 时对象才能接收焦点 LostFocus事件 当对象失去焦点时发生 When事件 在控件接收焦点之前发生 Valid事件 在控件失去焦点之前发生 20 表单事件 Load事件在创建对象前发生 表单集的Load事件先于表单的Load事件 在该事件发生时还没有创建任何控件对象 因此在此事件中不能有对控件进行处理的代码 Unload事件在对象被释放时发生 是释放表单或表单集的最后一个事件 此两事件用于表单和表单集 21 其他事件 Timer事件适用于计时器 当经过Interval属性中指定的毫秒数时发生 Init事件 当创建对象时发生 B p160 容器所包含的对象的Init事件在容器的Init事件之前发生 22 6 3 5对象方法的调用 可以在应用程序的任何地方调用已存在对象的方法程序 语法 引用对象 方法程序例 FormSet1 Form1 ShowFormSet1 Form1 Text2 Setfocus对于有返回值的方法程序必须以圆括号结尾 类似于函数调用 如果有参数传递给方法程序 则参数要放在括号里 23 常用方法 Hide方法 隐藏表单 表单集或工具栏 Refresh方法 重画表单或控件 并刷新所有值 Release方法 从内存中释放表单集或表单 RemoveItem方法 从组合框或列表框中移去一项 Clear方法 清除组合框或列表框控件的内容 SetFocus方法 使指定的一个控件获得焦点 Show方法 显示一个表单 并且确定是模式表单还是无模式表单 24 6 4建立表单 表单 Form 是一个容器类 由一个或多个页面组成 每个页面又可包含多个控件对象 表单集 FormSet 一个或多个表单的集合 表单集中的表单可以统一处理 也可独立处理 表单文件 scx sct 由表单及其控件构成 是VFP提供的用于建立应用程序界面的最主要的工具之一 一个表单文件相当于Windows应用程序的窗口 要点 25 6 4 1表单的创建 表单向导表单向导 为单个表创建操作数据的表单 一对多表单向导 为两个相关表创建操作数据的表单 两个表之间一定要存在关系 生成的表单中的记录定位按钮只作用于父表 子表记录可通过窗口操作控制 表单设计器快速表单编程方法 26 1 设计器窗口 表单设计器 窗口内包含正在设计的表单 用户可在表单窗口中可视化地添加和修改控件 改变控件布局 表单窗口只能在 表单设计器 窗口内移动 以新建方式启动表单设计器时 系统将默认为用户创建一个空白表单 如图左侧部分 6 4 2表单设计器的使用 B p168 27 2 属性窗口 页框选项卡 对象 下拉列表框图 属性设置框 6 4 2表单设计器的使用 28 2 属性窗口 示例 Fig6 11 scx Text2 6 4 2表单设计器的使用 属性值的设置如果是常量 则直接输入 用一定的定界符 如果是表达式 则必须为 表达式事件代码如果某一事件所对应的事件代码程序是用户自定义的 则用黑体字表示方法如果方法所对应的方法程序是用户自定义的 则用黑体字表示 29 3 表单控件工具栏设计表单的主要任务就是利用 表单控件 设计交互式用户界面 表单控件 工具栏是表单设计的主要工具 默认包含21个控件 4个辅助按钮 添加控件到表单 单击需要的控件按钮 将鼠标移到表单上 然后单击表单放置控件或把控件拖至所需的大小 示例 新建表单 添加控件 6 4 2表单设计器的使用 30 4 表单设计器工具栏 6 4 2表单设计器的使用 31 6 4 3数据环境 B p177 表单的数据环境包括了与表单交互作用的表和视图 以及表单要求的表之间的关系 数据环境是表单的一部分 并没有自己独立的存储空间 引入数据环境的目的 打开或运行表单时它自动地打开表单所基于的表或视图 将表单属性窗口中的ControlSource属性与数据环境中的所有字段相连 关闭或释放表单时自动地关闭表和视图 在创建表单时 首先要设置表单的数据环境 以确定表单所用到的表和视图 32 在数据环境设计器中添加 移去表或视图在数据环境中设置关系如在数据库中两表之间已设有永久关系 则这些关系将自动添加到数据环境中 如没有 就必须设置 设置方法与数据库设计器中一致 B p178 常见的关系属性 以xs cj为例 RelationalExpr 用于指定基于主表的关联表达式 xh ParentAlias 用于指明主表的别名 xs ChildAlias 用于指明子表的别名 cj ChildOrder 用于指定与关联表达式相匹配的索引 xh OneToMany 用于指明关系是否为一对多关系 该属性默认为 F 如果关系为 一对多关系 该属性一定要设置为 T 6 4 3数据环境 33 6 5表单的使用 caption 决定表单栏的显示文本 系统默认值为FORM1BorderStyle 决定表单是否能被用户修改 系统默认值是3 0 无边框 1 单线边框 2 固定边框 3 可调边框Height 用来确定表单的高度 系统默认值为250Width 用来确定表单的宽度 系统默认值为375 BackColor 用来设置表单的背景色 系统默认值是255 255 255 Name 用来表示表单或其它对象的名称 系统默认值为FORM1Visible 指定表单等对象是可见的还是隐藏的 系统默认值是 T 可见的 6 5 1表单属性的设置 B p180 185 34 6 5表单的使用 MaxButton 控制表单是否有最大化按钮 系统默认值是 T MinButton 控制表单是否有最小化按钮 系统默认值是 T Movable 控制表单是否能够移动到屏幕上的新位置上 系统默认值是 T AutoCenter 控制表单初始化时是否让表单自动在VFP的主窗口中居中 系统默认值为 F Closable 控制用户能否通过双击 关闭 框来关闭表单 系统默认值是 T 6 5 1表单属性的设置 35 1 Relase方法 将表单从内存中释放 比如表单有一个命令按钮 如果希望单击该命令按钮时关闭表单 就可以在该命令按钮的Click事件中包含如下代码 ThisForm Release 2 Refresh方法 刷新表单 3 Show方法 显示表单 该方法将表单的Visible属性设置为 T 4 Hide方法 隐藏表单 该方法将表单的Visible属性设置为 F 与Relase方法不同 Hide只是把表单隐藏 但并不将表单从内存释放 之后可用Show方法重新显示表单 6 5表单的使用 6 5 2常用的表单方法 36 6 5 3表单常用的事件 1 Init事件 在表单创建时引发 2 Destroy事件 在表单对象释放时引发 3 RightClick事件 用鼠标右键单击表单时引发 6 5表单的使用 6 5 4表单的保存保存为一个表单文件保存为一个能被其他类或表单使用的子类 6 5 5表单的运行命令方式DoFORM表单名菜单方式 37 新建一个表单 该表单的标题信息为 我的第一个表单 要求表单第一次显示时自动位于VFP主窗口的中间 表单的背景色为 192 192 192 表单的高为300 宽为400 当用户单击表单的空白区域时 能够退出该表单 最后将该表单保存为S1 S

温馨提示

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

评论

0/150

提交评论