第六章 面向对象的程序设计
2008-05-28 17:04
232 查看
[align=center]6.1 面向对象程序设计概述[/align]
1. 基本概念
面向对象的程序设计是通过对类、子类和对象等的设计来体现的,类是面向对象程序设计技术的核心。
类:定义了对象特征以及对象外观和行为的模板。
类的特征:
封装性:隐藏了类中对象的内部数据或操作细节,只看到外表信息。
继承性:
任何类都可以从其它已有的类中派生,新类保持了父类中的行为和属性,但增加了新的功能。体现了面向对象设计方法的共享机制。
多态性:相同的操作可作用于多种类型的对象上,并获得不同的结果。
抽象性:提取一个类或对象与众不同的特征,而不对该类或对象的所有信息进行处理。
基类:
系统本身提供的类称为基类。基类包括容器类和控件类。容器类是其他对象的集合,如表格、选项按钮组;控件类是单一的对象,不包含其他对象,如命令按钮、文本框。
子类:
以其他类定义为起点,对某一对象所建立的新类。新类将继承任何对父类所做的修改。
类库:
存储类的文件,每一个以可视方式设计的类都存储在一个类库中。类库文件的扩展名为 .VCX 。
对象:是类的一个实例,包括了数据和过程。具有所在类所定义的全部属性和方法。
VFP有两种对象:容器对象和控件对象。
属性:控件、字段或数据库对象的特性。
事件:由对象识别的一个动作。
方法:与对象相联系的由程序执行的一个处理过程,即处理事件的一组代码。
用户不可以为对象创建新的事件,但可以创建新的方法程序。
2. Visual FoxPro 基类
从下述 Visual FoxPro 基类中,可以派生子类或创建对象。
注:# 这些类是父容器的集成部分,在类设计器中不能子类化。
[align=center]基类事件的最小集合[/align]
[align=center] [/align]
[align=center]基类属性的最小集合[/align]
[align=center] [/align]
[align=center]容器类[/align]
[align=center]容器类可以包含其他对象,并且允许访问这些对象。每种容器类所能包含的对象如下。[/align]
[align=center]6.2 类的创建[/align]
1. 创建类的方法
(1)类设计器
(2)表单设计器
(3)编程方式
2. 用类设计器创建类
使用“类设计器”能够可视化地创建并修改类。 类存储在类库 (.VCX) 文件中。
(1)创建新类
可以用三种方法(文件菜单、项目管理器、CREATE CLASS命令)打开类设计器并在其中创建新类,且在设计时就能看到每个对象的最终外观。
步骤:
单击文件菜单中的新建 → 选择类,新文件 → 在对话框中给出新类的名称、新类基于的类以及保存新类的类库 → 进入类设计器 <→根据需要在基类的基础上进行所需修改 →关闭设计器并确定保存。
(2)为类指定设计时的外观
1) 为类设置一个工具栏图标
在类设计器中从类菜单中选择类信息 → 打开类信息对话框,在工具栏图标框中键入 .BMP 文件的名称和路径。
附注:
工具栏图标的 .BMP 文件必须是 15 x 16 象素点大小。如果图片过大或过小,它将被调整到 15 x 16 象素点,图形可能变形。
2) 为类设置一个容器图标
打开类设计器从类菜单选择类信息 → 在容器图标框中键入将在表单设计器中的控件工具栏按钮上显示的 .BMP 文件名称和路径。
(3)创建类库
可以用三种方法创建类库。
1) 在创建类时,在新类对话框的“存储于”框中指定一个新的类库文件。
2) 使用 CREATE CLASS 命令,同时指定新建类库的名称。
例如,下面的语句创建了一个名为 myclass 的新类和一个名为 new_lib 的新类库:
CREATE CLASS myclass OF new_lib AS CUSTOM
3) 使用 CREATE CLASSLIB 命令。
例如,在命令窗口键入下面的命令,可以创建一个名为 new_lib 的类:
CREATE CLASSLIB new_lib
(5)修改类定义
在创建类之后,还可以修改它,对类的修改将影响所有的子类和基于这个类的所有对象。也可以增加类的功能或修改类的错误,所有子类和基于这个类的所有对象都将继承修改。 在项目管理器中选择所要修改的类或使用 MODIFY CLASS 命令进行修改。
(6)将表单和控件保存为类
可以将表单或表单上的控件子集保存为类定义。如果打算创建基于表单的子类,或在其他表单中重新使用这些控件,可将表单作为类定义来保存。
从文件菜单中选择另存为类→ 在另存为类对话框中,选择当前表单或选定控件→ 在“类名”框中输入类的名称→在文件框中输入保存类的文件名 →选择确定按钮。
3. 用编程方式创建类
在程序窗口中建立一个定义类的程序文件(扩展名为.PRG),然后执行该程序。
4.将类添加到表单、表单集和工具栏中
(1)注册一个类库
从工具菜单中选择选项 → 在选项对话框中选择控件选项卡 → 选择可视类库并选择添加按钮 → 在打开对话框中选择要注册的类库并选择打开 → 选择确定按钮。
(2)给子类增加功能
使用作用域操作符 (::) 可以在子类上调用父类的代码,引用父类的方法。
调用父类方法的语法是:ParentClass::Method( )
(3)将属性和方法添加到类
可以向新类中添加任意多的新属性和新方法。属性保存一个值,而方法则保存调用时可以运行的过程代码。
从类菜单选择新属性或新方法 → 在新属性对话框中键入属性或方法的名称 → 指定它是否受保护。
5. 类浏览器
(1) 类浏览器的作用
可创建子类,把类从一个类库复制到另一类库,删除类和库文件,重命名类或者重新定义类关系。
注意:如果要对类进行删除、重命名或重定义,则基于此类的表单可能不能正确运行。
(2)添加一个子类
在类浏览器中打开类库 → 选择要从中派生子类的类,然后选择新类按钮 →< 在新类对话框中输入新子类名 → 在类设计器中定义并保存子类。
(3)把类从一个类库复制到另一类库中
在类浏览器中打开源类库 → 从工具菜单中打开类浏览器的第二个实例,并选择目标库文件 → 在源类库中选择要复制的类,然后在按住Ctrl键的同时,把位于类列表上方的类图标拖到目的库中的类图标上。 若不同时按住Ctrl键则是移动。
(4)把多个类从一个类库文件复制到另一个类库文件中
在类浏览器中打开源类库 → 如果要筛选类列表,则在类型框中键入筛选条件以限定想要从文件中复制的类 → 从工具菜单中,打开类浏览器的第二个实例,并选择目标库文件 → 在源类库中,选择要复制的类库文件,然后在按住Ctrl键的同时,把位于类列表上方的类图标拖到目标库中的类图标上。
(5)删除类、类库或表单
1) 在类浏览器中打开类库或表单。
2) 在类列表中,选择要删除的类、类库或表单,然后选择删除按钮。对类来说,它在库中的记录标有删除标记,下一次就可选择清除类库;对类库和表单来说,文件是从磁盘中删除。
(6)重命名类库中的类,
在类浏览器中打开类库 → 在类列表中,选择要重命名的类,然后选择重命名按钮 → 在重命名类对话框中,输入新的名称,然后选单击重命名。
注意:如果对具有相关子类的类重命名,则子类将不能引用从重命名类中继承下来的属性。
(7)更改一个类的父类
在类浏览器中打开类库 → 在类列表中,选择想要重定义的类,然后选择重定义按钮 → 在重定义对话框的为框中,输入新的父类名。新父类与原父类必须是来源于同一基类 → 在基于框中,选择或输入类库文件名。
(8)定制类浏览器
可更改类浏览器的属性、事件和方法。可通过程序来操作类浏览器:
1) 打开类浏览器将自动创建公共变量 _oBrowser,可使用此变量来引用或操作类浏览器表单,如同对任何表单对象一样。
2) 对要更改的类浏览器的属性进行设置。
例如,在打开类浏览器之前,可通过下列命令把类浏览器的标题属性设置为 Hello:
_OBROWSER.Caption = "Hello"
_OBROWSER.Left = 10
3) 打开类浏览器,创建一个实例。
例如,为了打开类浏览器,可输入代码:DO (_BROWSER)
[align=center]6.3 创建并处理对象[/align]
1. 创建对象
(1) 编程方式
先创建一个类,再用 CREATEOBJECT() 函数来创建。
(2) 可视化方式
用表单设计器创建。
2. 引用对象
引用对象时,对象与对象之间、对象与属性之间需用分隔符 . 进行分隔。
(1) 绝对引用
从容器的最高层引用对象,给出对象的绝对地址。如:form1.text1.value
(2) 相对引用
在容器层次中相对于某个容器层次的引用。如:thisform .text1.value
系统变量 _SCREEN 表示屏幕对象,与 ActiveForm 等组合可以在不知道表单名的情况下处理活动表单。
[b]3. 设置对象的属性
(1) 可以在属性窗口中进行可视化设置
(2) 可以在程序中用如下格式进行设置:
引用对象.属性 = 值
如:thisform .text1.value="只要功夫深,铁棒磨成针。"
想一次设置多个属性时,可以采用WITH …… ENDWITH 语句。
如:WITH form1.text1
.Value="书山有路勤为径"
.ForeColor=rgb(255,0,0)
.FontSize=18
.FontName="隶书"
.FontBold=.T.
ENDWITH
4. 调用对象的方法程序
若对象已经创建,可以在应用程序的任何地方调用该对象的方法程序。调用方法程序的格式为: 引用对象.方法程序
如: Form1.Show
5. 对象对事件的响应
当事件发生时,该事件的过程代码就将被执行。
用编程方式可以使用 MOUSE 命令产生 CLICK、DOUBLECLICK、MOUSEMOVE、DRAGDROP 事件,使用 ERROR 命令产生 ERROR 事件,或使用 KEYBOARD 命令产生 KEYPRESS 事件,除此之外不能用其他的程序设计方法产生其他事件,但可调用与它们相关的过程。
[align=center] [/align]
[align=center]6.4 事件与方法[/align]
1. VFP 中的事件
[align=center]VFP 中的常用事件分类[/align]
[align=center]一些核心事件和触发时间[/align]
2. 事件循环
VFP6.0 中用 READ EVENTS 命令建立循环,用 CLEAR EVENTS 命令终止循环。
利用 VFP6.0 设计应用程序时,必须创建事件循环,否则不能正常运行。READ EVENTS 命令通常出现在应用程序的主程序中,同时必须保证主程序调出的界面中有发出 CLEAR EVENTS 命令的机制,否则程序进入死循环。
3. 方法
[align=center]VFP6.0 中的常用方法[/align]
[/b]
1. 基本概念
面向对象的程序设计是通过对类、子类和对象等的设计来体现的,类是面向对象程序设计技术的核心。
类:定义了对象特征以及对象外观和行为的模板。
类的特征:
封装性:隐藏了类中对象的内部数据或操作细节,只看到外表信息。
继承性:
任何类都可以从其它已有的类中派生,新类保持了父类中的行为和属性,但增加了新的功能。体现了面向对象设计方法的共享机制。
多态性:相同的操作可作用于多种类型的对象上,并获得不同的结果。
抽象性:提取一个类或对象与众不同的特征,而不对该类或对象的所有信息进行处理。
基类:
系统本身提供的类称为基类。基类包括容器类和控件类。容器类是其他对象的集合,如表格、选项按钮组;控件类是单一的对象,不包含其他对象,如命令按钮、文本框。
子类:
以其他类定义为起点,对某一对象所建立的新类。新类将继承任何对父类所做的修改。
类库:
存储类的文件,每一个以可视方式设计的类都存储在一个类库中。类库文件的扩展名为 .VCX 。
对象:是类的一个实例,包括了数据和过程。具有所在类所定义的全部属性和方法。
VFP有两种对象:容器对象和控件对象。
属性:控件、字段或数据库对象的特性。
事件:由对象识别的一个动作。
方法:与对象相联系的由程序执行的一个处理过程,即处理事件的一组代码。
用户不可以为对象创建新的事件,但可以创建新的方法程序。
2. Visual FoxPro 基类
从下述 Visual FoxPro 基类中,可以派生子类或创建对象。
容器 | 命令组 | 控件 | 微调 | 标签 |
表单 | 命令按钮 | 复选框 | OLE 容器控制 | 线条 |
表单集 | 选项组 | 列表框 | OLE 绑定型控制 | 分隔符 # |
表格 | 选项按钮 # | 文本框 | 自定义 | 形状 |
标头 # | 页框 | 组合框 | 工具栏 | 图象 |
列 # | 页面 # | 编辑框 | 计时器 |
[align=center]基类事件的最小集合[/align]
[align=center]事件[/align] | [align=center]说明[/align] |
Init | 当对象创建时激活。 |
Destroy | 当对象从内存中释放时激活。 |
Error | 当类中的事件或方法过程中发生错误时激活。 |
[align=center]基类属性的最小集合[/align]
[align=center]属性[/align] | [align=center]说明[/align] |
Class | 该类属于何种类型。 |
BaseClass | 该类由何种基类派生而来,例如 Form、Commandbutton 或 Custom 等 |
ClassLibrary | 该类从属于哪种类库。 |
ParentClass | 对象所基于的类。若该类直接由 Visual FoxPro 基类派生而来,则 ParentClass 属性值与 BaseClass 属性值相同。 |
[align=center]容器类[/align]
[align=center]容器类可以包含其他对象,并且允许访问这些对象。每种容器类所能包含的对象如下。[/align]
[align=center]容器[/align] | [align=center]能包含的对象[/align] |
命令按钮组 | 命令按钮 |
容器 | 任意控件 |
控件 | 任意控件 |
表单集 | 表单、工具栏 |
表单 | 页框、任意控件、容器或自定义对象 |
表格列 | 标头对象以及除表单、表单集、工具栏、计时器和其他列对象以外的任意对象 |
表格 | 表格列 |
选项按钮组 | 选项按钮 |
页框 | 页面 |
页面 | 任意控件、容器和自定义对象 |
工具栏 | 任意控件、页框和容器 |
1. 创建类的方法
(1)类设计器
(2)表单设计器
(3)编程方式
2. 用类设计器创建类
使用“类设计器”能够可视化地创建并修改类。 类存储在类库 (.VCX) 文件中。
(1)创建新类
可以用三种方法(文件菜单、项目管理器、CREATE CLASS命令)打开类设计器并在其中创建新类,且在设计时就能看到每个对象的最终外观。
步骤:
单击文件菜单中的新建 → 选择类,新文件 → 在对话框中给出新类的名称、新类基于的类以及保存新类的类库 → 进入类设计器 <→根据需要在基类的基础上进行所需修改 →关闭设计器并确定保存。
(2)为类指定设计时的外观
1) 为类设置一个工具栏图标
在类设计器中从类菜单中选择类信息 → 打开类信息对话框,在工具栏图标框中键入 .BMP 文件的名称和路径。
附注:
工具栏图标的 .BMP 文件必须是 15 x 16 象素点大小。如果图片过大或过小,它将被调整到 15 x 16 象素点,图形可能变形。
2) 为类设置一个容器图标
打开类设计器从类菜单选择类信息 → 在容器图标框中键入将在表单设计器中的控件工具栏按钮上显示的 .BMP 文件名称和路径。
(3)创建类库
可以用三种方法创建类库。
1) 在创建类时,在新类对话框的“存储于”框中指定一个新的类库文件。
2) 使用 CREATE CLASS 命令,同时指定新建类库的名称。
例如,下面的语句创建了一个名为 myclass 的新类和一个名为 new_lib 的新类库:
CREATE CLASS myclass OF new_lib AS CUSTOM
3) 使用 CREATE CLASSLIB 命令。
例如,在命令窗口键入下面的命令,可以创建一个名为 new_lib 的类:
CREATE CLASSLIB new_lib
(5)修改类定义
在创建类之后,还可以修改它,对类的修改将影响所有的子类和基于这个类的所有对象。也可以增加类的功能或修改类的错误,所有子类和基于这个类的所有对象都将继承修改。 在项目管理器中选择所要修改的类或使用 MODIFY CLASS 命令进行修改。
(6)将表单和控件保存为类
可以将表单或表单上的控件子集保存为类定义。如果打算创建基于表单的子类,或在其他表单中重新使用这些控件,可将表单作为类定义来保存。
从文件菜单中选择另存为类→ 在另存为类对话框中,选择当前表单或选定控件→ 在“类名”框中输入类的名称→在文件框中输入保存类的文件名 →选择确定按钮。
3. 用编程方式创建类
在程序窗口中建立一个定义类的程序文件(扩展名为.PRG),然后执行该程序。
4.将类添加到表单、表单集和工具栏中
(1)注册一个类库
从工具菜单中选择选项 → 在选项对话框中选择控件选项卡 → 选择可视类库并选择添加按钮 → 在打开对话框中选择要注册的类库并选择打开 → 选择确定按钮。
(2)给子类增加功能
使用作用域操作符 (::) 可以在子类上调用父类的代码,引用父类的方法。
调用父类方法的语法是:ParentClass::Method( )
(3)将属性和方法添加到类
可以向新类中添加任意多的新属性和新方法。属性保存一个值,而方法则保存调用时可以运行的过程代码。
从类菜单选择新属性或新方法 → 在新属性对话框中键入属性或方法的名称 → 指定它是否受保护。
5. 类浏览器
(1) 类浏览器的作用
可创建子类,把类从一个类库复制到另一类库,删除类和库文件,重命名类或者重新定义类关系。
注意:如果要对类进行删除、重命名或重定义,则基于此类的表单可能不能正确运行。
(2)添加一个子类
在类浏览器中打开类库 → 选择要从中派生子类的类,然后选择新类按钮 →< 在新类对话框中输入新子类名 → 在类设计器中定义并保存子类。
(3)把类从一个类库复制到另一类库中
在类浏览器中打开源类库 → 从工具菜单中打开类浏览器的第二个实例,并选择目标库文件 → 在源类库中选择要复制的类,然后在按住Ctrl键的同时,把位于类列表上方的类图标拖到目的库中的类图标上。 若不同时按住Ctrl键则是移动。
(4)把多个类从一个类库文件复制到另一个类库文件中
在类浏览器中打开源类库 → 如果要筛选类列表,则在类型框中键入筛选条件以限定想要从文件中复制的类 → 从工具菜单中,打开类浏览器的第二个实例,并选择目标库文件 → 在源类库中,选择要复制的类库文件,然后在按住Ctrl键的同时,把位于类列表上方的类图标拖到目标库中的类图标上。
(5)删除类、类库或表单
1) 在类浏览器中打开类库或表单。
2) 在类列表中,选择要删除的类、类库或表单,然后选择删除按钮。对类来说,它在库中的记录标有删除标记,下一次就可选择清除类库;对类库和表单来说,文件是从磁盘中删除。
(6)重命名类库中的类,
在类浏览器中打开类库 → 在类列表中,选择要重命名的类,然后选择重命名按钮 → 在重命名类对话框中,输入新的名称,然后选单击重命名。
注意:如果对具有相关子类的类重命名,则子类将不能引用从重命名类中继承下来的属性。
(7)更改一个类的父类
在类浏览器中打开类库 → 在类列表中,选择想要重定义的类,然后选择重定义按钮 → 在重定义对话框的为框中,输入新的父类名。新父类与原父类必须是来源于同一基类 → 在基于框中,选择或输入类库文件名。
(8)定制类浏览器
可更改类浏览器的属性、事件和方法。可通过程序来操作类浏览器:
1) 打开类浏览器将自动创建公共变量 _oBrowser,可使用此变量来引用或操作类浏览器表单,如同对任何表单对象一样。
2) 对要更改的类浏览器的属性进行设置。
例如,在打开类浏览器之前,可通过下列命令把类浏览器的标题属性设置为 Hello:
_OBROWSER.Caption = "Hello"
_OBROWSER.Left = 10
3) 打开类浏览器,创建一个实例。
例如,为了打开类浏览器,可输入代码:DO (_BROWSER)
[align=center]6.3 创建并处理对象[/align]
1. 创建对象
(1) 编程方式
先创建一个类,再用 CREATEOBJECT() 函数来创建。
(2) 可视化方式
用表单设计器创建。
2. 引用对象
引用对象时,对象与对象之间、对象与属性之间需用分隔符 . 进行分隔。
(1) 绝对引用
从容器的最高层引用对象,给出对象的绝对地址。如:form1.text1.value
(2) 相对引用
在容器层次中相对于某个容器层次的引用。如:thisform .text1.value
[align=center]属性或关键字[/align] | [align=center]引用[/align] |
ActiveControl | 当前活动表单中具有焦点的控件 |
ActiveForm | 当前活动表单 |
ActivePage | 当前活动表单中的活动页 |
Parent | 该对象的直接容器 |
THIS | 该对象 |
THISFORM | 包含该对象的表单 |
THISFORMSET | 包含该对象的表单集 |
[b]3. 设置对象的属性
(1) 可以在属性窗口中进行可视化设置
(2) 可以在程序中用如下格式进行设置:
引用对象.属性 = 值
如:thisform .text1.value="只要功夫深,铁棒磨成针。"
想一次设置多个属性时,可以采用WITH …… ENDWITH 语句。
如:WITH form1.text1
.Value="书山有路勤为径"
.ForeColor=rgb(255,0,0)
.FontSize=18
.FontName="隶书"
.FontBold=.T.
ENDWITH
4. 调用对象的方法程序
若对象已经创建,可以在应用程序的任何地方调用该对象的方法程序。调用方法程序的格式为: 引用对象.方法程序
如: Form1.Show
5. 对象对事件的响应
当事件发生时,该事件的过程代码就将被执行。
用编程方式可以使用 MOUSE 命令产生 CLICK、DOUBLECLICK、MOUSEMOVE、DRAGDROP 事件,使用 ERROR 命令产生 ERROR 事件,或使用 KEYBOARD 命令产生 KEYPRESS 事件,除此之外不能用其他的程序设计方法产生其他事件,但可调用与它们相关的过程。
[align=center] [/align]
[align=center]6.4 事件与方法[/align]
1. VFP 中的事件
[align=center]VFP 中的常用事件分类[/align]
[align=center]事件类型[/align] | [align=center]事件名称[/align] |
[align=left]鼠标事件[/align] | [align=left]Click DblClick RightClick DropDown DownClick UpClick[/align] |
[align=left]键盘事件[/align] | [align=left]KeyPress[/align] |
[align=left]改变控件内容的事件[/align] | [align=left]InteractiveChange[/align] |
[align=left]控件焦点的事件[/align] | [align=left]GotFocus LostFocus When Valid [/align] |
[align=left]表单事件[/align] | [align=left]Load Unload Destroy Activate Resize Paint QueryUnload[/align] |
[align=left]数据环境事件[/align] | [align=left]AfterCloseTable BeforeOpenTable[/align] |
[align=left]项目事件[/align] | [align=left]QueryModifyFile 等[/align] |
[align=left]OLE 事件[/align] | [align=left]OLECompleteDrag 等[/align] |
[align=left]其他事件[/align] | [align=left]Timer Init Destroy Error [/align] |
事件 | [align=center]触发时间[/align] |
Load | 当表单或表单集被加载时产生 |
Unload | 当表单或表单集从内存中释放时产生 |
Init | 创建对象时产生 |
Destroy | 从内存中释放对象时产生 |
Click | 用户在对象上单击鼠标时产生 |
DblClick | 用户在对象上双击鼠标时产生 |
RightClick | 用户在对象上单击鼠标右键时产生 |
GetFocus | 对象得到焦点时产生 |
LostFocus | 对象失去焦点时产生 |
KeyPress | 用户按键时产生 |
MouseDown | 在对象上按下鼠标 |
MouseUp | 在对象上松开鼠标 |
MouseMove | 在对象上移动鼠标 |
InteractiveChange.. | 交互式改变对象值 |
ProgrammaticChange | 可编程地改变对象值 |
VFP6.0 中用 READ EVENTS 命令建立循环,用 CLEAR EVENTS 命令终止循环。
利用 VFP6.0 设计应用程序时,必须创建事件循环,否则不能正常运行。READ EVENTS 命令通常出现在应用程序的主程序中,同时必须保证主程序调出的界面中有发出 CLEAR EVENTS 命令的机制,否则程序进入死循环。
3. 方法
[align=center]VFP6.0 中的常用方法[/align]
[align=center]名称[/align] | [align=center]调用语法[/align] | [align=center]功能[/align] |
[align=center]AddObject[/align] | [align=center]Object. AddObject (cName,cClass[,…])[/align] | [align=left]在运行时向容器对象中添加对象[/align] |
[align=center]Clear[/align] | Object.Clear | 清除组合框或列表框控件中的内容 |
[align=center]Hide[/align] | Object.Hide | 通过把Visible属性设置为 .F.,来隐藏表单、表单集或工具栏 |
[align=center]Show[/align] | Object.Show | 把Visible属性设置为 .T.,显示并激活一个表单或表单集,并确定表单的显示模式 |
[align=center]Refresh[/align] | Object.Refresh | 重画表单或控件,并刷新所有值 |
[align=center]Release[/align] | Object.Release | 从内存中释放表单或表单集 |
[align=center]Quit[/align] | Object.Quit | 结束一个VFP6.0实例,返回到创建它的应用程序。 |
相关文章推荐
- Javascript高级程序设计第二版第六章--面向对象程序设计(Object-Oriented Programming)简称OOP编程--笔记
- 第六章:面向对象的程序设计
- Javascript高级程序设计第二版第六章--面向对象程序设计(Object-Oriented Programming)简称OOP编程--笔记
- JavaScript高级程序设计 第六章 面向对象程序设计
- javascript高级程序设计第三版 第六章 面向对象的程序设计
- 第六章 面向对象的程序设计 创建对象的模式
- 第六章 面向对象的程序设计 (2 创建对象)
- 第六章 面向对象的程序设计 (1 理解对象)
- 第六章 面向对象面向对象程序设计
- [Python学习笔记][第六章Python面向对象程序设计]
- 第六章 面向对象面向对象程序设计
- 第六章 面向对象的程序设计
- [Python学习笔记][第六章Python面向对象程序设计]
- Javascript高级程序设计第二版第六章--面向对象程序设计(Object-Oriented Programming)简称OOP编程--笔记
- 第六章 面向对象的程序设计(二) JavaScript高级程序设计
- 读书笔记 - js高级程序设计 - 第六章 面向对象的程序设计
- javascript高级程序设计第六章:面向对象的程序设计——创建对象读书笔记
- 第六章 面向对象的程序设计 (3 继承)
- 第六章 面向对象的程序设计 JavaScript高级程序设计
- 第六章 面向对象的程序设计 数据属性+访问器属性