当前位置: 首页 > 编程语言 > vfp > 正文

看实例学VFP:新类的使用

时间:2009-02-21 www.bianceng.cn 老马

一.新定义类的使用

(一)将新类添加到表单

存储于类库中的新类在使用之前应首先将其打开或注册,可以通过以下三种方法将类库打开或注册:

1.使用“项目管理器”:

在“项目管理器”中选择“类”选项卡,单击“添加”会出现“打开”对话框。在“打开”对话框中可心选择一个类库并打开。所打开的类库将被添加到项目之中,我们就可以将类从“项目管理器”中拖到“表单设计器”或“类设计器”中,也可以在“表单设计器”或“类设计器”的表单控件工具栏上直接显示它们,然后用添加标准控件的方法将它们添加到表单或其他的容器当中。

2.利用“选项”对话框:

单击VFP系统主菜单中的“选项”菜单项,弹出“选项”对话框。在该对话框中选择“控件”选项卡。如果想让新类出现在VFP的“控件”工具栏上,则选择“设置默认值”。

3.可以使用“表单控件”工具栏的“查看类”按钮来注册一个类库,在出现的快捷菜单中选择“添加”,将类库添加到“表单控件”工具栏。

(二)覆盖默认属性设置

将基于新类的对象添加到表单上后,我们可以修改所创建对象的所有未被保护的属性以覆盖其默认的属性设置,此后即使在“类设计器”中该属性的值被修改,被覆盖的属性值也不会改变。但如果没有修改表单中对象的属性设置,则在“类设计器”中修改了类的属性后,基于这个类创建的对象的相关属性将会同时发生改变。

(三)调用父类的方法程序

对象的子类自动继承父类的功能,但同时也可以用新的功能来替代这些继承来的功能。例如由某个基类派生出子类或把基于这个类的对象加入到一个容器中后,重新为它的click事件编程,则在运行时基类的代码不会运行,而运行新的代码。

二.实例:创建一个记录移动命令按钮类tools并在表单中应用它

1.启动“类设计器”:

单击VFP系统菜单栏中“文件”下的“新建”命令,选择“类”,然后单击“新建文件”按钮,出现“新建类”对话框。

在“新建类”对话框的“类名”一栏中输入新类的名称:tools,在“派生于”一栏中为新类指定基类:CommandGroup,在“存储于”一栏中输入新类的类库名及保存路径:e:\myvfp\tools.vcx,如下图所示:

设置完上述选项后单击该对话框里的“确定”,系统打开“类设计器”,如下图:

因为本例的基类是命令按钮组,所以开始时系统默认产生了2个命令按钮,我们可以象在表单中编辑命令按钮组一样在类设计器中编辑新类。在类设计器中命令按钮组的布局、设置属性、编写对象的事件代码的方法与表单设计器一样。

2.命令按钮的布局及属性设置:

首先在属性窗口中将ButtonCount属性值设置为4,这样在“类设计器”中就出现了四个命令按钮(command1~command4),用鼠标拖动的方法将command1~command4这四个按钮依次水平排列,并将command1~command4这四个按钮的caption属性值依次设置为“第一条”、“上一条”、“下一条”和“最后一条”,然后适当调整大小,设置完毕后的类设计器如下图所示:

3.编写事件代码:

tools类的click事件代码:

sel=this.value
do case
case sel=1
   go top
case sel=2
   if !bof()
      skip -1
   endif
case sel=3
   if !eof()
      skip
	endif
case sel=4
   go bottom
endcase
thisform.refresh

4.关闭类设计器,按照系统的询问将tools类保存到tools.vcx类库中,即可完成新类的创建。

5.新建一个表单,将它的caption属性设计为“新类的使用”,将其width属性值设置为375,height属性值设置为250,保存为“新类的使用.scx”。

6.注册新类:单击“表单控件”工具栏的“查看类”按钮,在出现的快捷菜单中选择“添加”,如下图:

7.在出现的“打开”对话框中打开tools.vcx,这样在“表单控件”工具栏中就可以看到tools的这个新类,如下图所示:

8.这样我们就可以象添加别的控件一样,从“表单控件”工具栏上单击tools类,然后在表单空白处再单击一下,表单上就会出现tools类的实例:tools1,如下图所示:

9.右击表单空白处,将“网站信息表”添加到数据环境中,然后在“数据环境设计器”中拖动“网站信息表”的各个字段到表单上的tools1控件的下方,自动生成若干个label控件和文本框控件,适当调整各控件的位置,调整后如下图所示:

10.保存并运行“新类的使用.scx”,界面如下图所示,单击tools1控件上的“第一条”、“下一条”等按钮,就可以在表单上的文本框中显示“网站信息表”中所对应的记录:

本例代码在Win2003+VFP6.0环境下调试通过。

查看全套“菜鸟也学VFP”教程