10.1
创建类的方法
1
、
类设计器
2
、
表单设计器
3
、
编程方式
10.2
用类设计
器创建类
使用“类设计器”能够可视化地创建并修改类。
类存储在类库
(.VCX)
文件中。
1
、
创建新类
可以用三种方法(文件菜单、项目管理器、
CREATE CLASS
命令)打开类设计器并在其中创建新类,
且在设计时就能看到每个对象的最终外观。
步骤:单击文件菜单中的新建
→
选择类,新文件
→
在对话框中
给出新类的
名称、
新类基于
的类以及保存
新类的类库
→
进入类设计器
→
根据需要
在基类的
基础上进行所需修改
→
关闭设计器并确定保存。
2
、
为类指定设计时的外观
1)
为类设置一个工具栏图标
在类设计器中从类菜单中选择类信息
→
打开类信息对话框,在工具栏图标框中键入
.BMP
文件的名称和路径。
附注
:工具栏图标的
.BMP
文件必须是
15
乘
16
象素点大小。如果图片过大或过小,它将被调整到
15
乘
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
4
、
修改类定义
在创建类之后,还可以修改它,对类的修改将影响所有的子类和基于这个类的所有对象。也可以增加类的功能或修改类的错误,所有子类和基于这个类的所有对象都将继承修改。
在项目管理器中选择所要修改的类或使用
MODIFY CLASS
命令进行修改。
5
、
将表单和
控件
保存为类
可以将表单或表单上的控件子集保存为类定义。如果打算创建基于表单的子类,或在其他表单中重新使用这些控件,可将表单作为类定义来保存。
从文件菜单中选择另存为类
→
在另存为类对话框中,选择当前表单或选定控件
→
在“类名”框中输入类的名称
→
在文件框中输入保存类的文件名
→
选择确定按钮。
10.3
用编程方式创建类
在程序窗口中建立一个定义类的程序文件(扩展名为
.PRG
),
然后执行该程序。举例。
10.4
将类添加
到表单、表单集和工具栏中
1
、
注册一个类库
从工具菜单中选择选项
→
在选项对话框中选择控件选项卡
→
选择可视类库并选择添加按钮
→
在打开对话框中选择要注册的类库并选择打开
→
选择确定按钮。
2
、
给子类增加
功能
使用作用域操作符
(::)
可以在子类上调用父类的代码,引用父类的方法。调用父类方法的语法是:
ParentClass::Method( )
3
、
将属性和方法添加到类
可以向新类中添加任意多的新属性和新方法。属性保存一个值,而方法则保存调用时可以运行的过程代码。
从类菜单选择新属性或新方法
→
在新属性对话框中键入属性或方法的名称
→
指定它是否受保护。
10.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)