看实例学VFP:新类的使用

一.新定义类的使用

(一)将新类添加到表单

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

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”教程

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索设计
, 控件
, 对话框
, 表单
, 按钮
, 类选择器
, 属性
, 添加类
, 覆盖物添加事件
, 表单对象属性
, 文件选择器实例
表单类
,以便于您获取更多的相关知识。

时间: 2024-10-03 07:28:23

看实例学VFP:新类的使用的相关文章

看实例学VFP:编程方式向表单添加新控件

vfp的"表单控件工具栏"包含了标签(Label).文本框(TextBox)等常用的控件类,以前我们向表单添加控件时多数都是在设计时使用该工具栏. 单击该工具栏上的某个控件图标后,即可在表单上拖动.绘制出所需要的控件.但有时我们需要的控件有可能在设计时无法确定,而是在应用程序运行时根据具体情况动态创建的,这时就需要以编程的方式,通过使用addobject()函数或creatobject()函数动态地向表单添加新控件. 本例在命令按钮的click事件代码中,使用系统基类grid动态创建出

看实例学VFP:利用多个表中的字段创建新表

本例中再来复习一下select语句中的inner join子句的知识,关于select语句请参考:select SQL 命令 或sql语言教程.本例的主要操作是在表单的init事件中完成的,在该事件中进行连接查询并将查询结果输出为一个临时表(该表包括了"人员信息表"的"姓名,性别,基本工资"3个字段以及"工资表"的"奖金,生活补助,养老保险"3个字段),最后将该表设为表格控件的数据源.本例应用到了数据环境,并使用"数

看实例学VFP:用sql命令修改表结构

在看实例学VFP:用sql语句修改数据表记录一文中介绍过用sql语句修改表记录的值,实际vfp中也可以用sql语言中的Alter语句动态的修改表结构.虽然可以实现这样的操作,但是我觉得尽可能还是不要在程序中动态修改表结构,因为这样有可能会造成程序的不稳定以及其它的意外情况. vfp中对表结构的操作主要是增加字段.修改字段.重命名字段和删除字段这四项,sql中修改表结构的语句是Alter语句,那么和这四项操作相对应的Alter语句格式可以总结如下: 增加字段:alter talbe 表名 add

看实例学VFP:同时向两个表中添加记录

本文利用看实例学VFP:利用多个表中的字段创建新表这个实例中的知识来制作一个文本式录入表单的简单示例,通过这个表单可以同时向"数据1"数据库中的"网站信息表"和"附加信息表"这两个表中添加记录,并且对录入的数据可以选择"保存"."添加"或"撤消".这两个表的索引字段分别是"编号"和"网站编号",这两个字段的内容是完全相同的,只是分别处于两个表中,并

看实例学VFP:表单集的例子

本文是一个关于表单集的小实例.本例运行时表单集中的表单form2的状态是隐藏,表单form1上面的表格显示的是"网站信息表"中的数据,如下图: 单击了"显示附加信息"命令按钮后,该按钮上面的文字变为"隐藏附加信息",同时表单form2显示出来,它上面的表格显示的是"附加信息表"中的数据:并且form1和form2上面的两个表格中的数据能实现数据联动,即在form1的表格中单击一个网站的记录,在form2的表格中会显示该网站的附

看实例学VFP:页框控件的使用

页框(pageframe) 也是vfp的一个基本控件,使用它可以制作出类似于windows对话框的效果,关于这个控件的常用属性和方法请参考vfp基础教程-页框和页一文. 页框控件本身是一个容器,其中可以包含若干个页(page):而页也是容器,可以在其中添加各种对象,因此无论是在设计时添加对象或者是代码引用,都要比别的控件麻烦些.在使用这个控件时需要注意:如果设计时要向某个页中添加对象,一定要在页框的编辑状态下选中该页的标签,然后再向该页中添加控件:另外在不同页之间切换时,需要处理好数据源的问题.

看实例学VFP:对组合框控件的再探索

组合框控件(combobox)在vfp中也是一个常用的控件,组合框兼具文本框和列表框的功能,它的名称大概也由此而来.在vfp基础教程-组合框控件(combobox) 中已经比较详细地给出了组合框的常用属性和方法. 在组合框控件的应用中,很重要的一个环节是它的RowSourceType及RowSource这两个属性的组合.比如在看实例学VFP:对表中记录进行定位与查找操作这个例子中是把组合框的RowSourceType属性值设为"1-值",而在看实例学VFP:去除查询结果中的重复记录这个

看实例学VFP:文本框控件

文本框控件(textbox)主要用于接收或显示数据,在vfp中是一个常用控件,差不多每个程序都要用到它.vfp基础教程-文本框(textbox)控件及vfp基础教程-数组中已经分别对文本框控件和数组做了介绍,本文来设计一个将这二者结合起来应用的例子. 关于文本框控件数据源的处理: 如果在表单中使用数据环境,可以在"数据环境设计器"中拖动表的各个字段到表单上,系统会自动生成各个字段对应的标签及文本框,并且文本框的数据源会自动与表中对应的字段绑定,这是一种处理方式:另外也可以不使用数据环境

看实例学VFP:进度条控件

我们在使用Windows系统的时候,如果复制一个较大的文件或者是从网上下载东西,在复制或下载的过程中都会出现一个对话框,并且在该对话框中会有一个进度条来显示复制或下载的进度.在vfp可以使用进度条控件(ProcessBar)来实现类似的功能,有的场合下可以用到它,比如软件包含了数据备份的功能,可以用它来显示备份的进度.但是这个控件的使用不是必须的,使用它无非是可以让你编的东西看起来更专业些. 进度条控件有几个比较重要的属性,如下: min:进度条的最小值,默认为0. max:进度条的最大值,默认

看实例学VFP:用列表框控件做个“开始菜单”

What is "开始菜单"?这应该是一句废话.因为只要是使用Windows系统的,都知道单击了任务栏左侧的"开始"按钮就会出现这个菜单,并且可能每天都会使用这个菜单. 那么用vfp编写的软件能否不使用菜单,而是把软件菜单的功能项都放到这样一种类似于Windows系统的"开始菜单"里呢?可以的,只要你喜欢. 今天我们用列表框控件做个简单的"开始菜单",运行时单击了表单的"开始"按钮后如下图: 此时就可以执行