打印本文 打印本文  关闭窗口 关闭窗口  
VFP容器与控件
作者:佚名  文章来源:不详  点击数  更新时间:2008/5/9 19:02:51  文章录入:杜斌  责任编辑:杜斌

  Visual FoxPro 6.0的基类共分成两个大类:容器类和非容器类。一般称容器类基类为容器,而把非容器类基类称为控件,有时候也把所有基类都称为控件。

  1.容器类

  容器类可以包含其他对象,并且允许访问这些对象。例如,若创建一个含有两个列表框和两个命令按钮的容器类,而后将该类的一个对象加入表单中,那么无论在设计时还是在运行时,都可以对该容器中任何一个对象进行单独操作。不仅可以改变列表框的位置和命令按钮的标题,也可以在设计阶段给这个容器添加新对象。例如,可以给列表框加标签,来标明该列表框。

  2.控件类

  控件类的封装比容器类更为严密,但也因此丧失了一些灵活性。控件类没有AddObject方法程序。在该“类”中不能包含其他类,最典型的控件类就是命令按钮。容器类虽然在引用时可以视为一个整体,但无论是在设计阶段还是在运行阶段,其所包含的对象都是可以识别并可以单独操作的。图lO.2对这两种不同的对象进行了比较。

  3.容器中各对象的调用

  在进行容器类“子类”或“对象”的设计时,往往要调用容器中某一特定对象,这就要掌握OOP方法中对象的标识方法。首先要明确下面几个问题:

  (1)容器类中对象的层次

  容器中的对象仍然可以是一个容器,一般把一个“对象”的直接容器称为“父容器”,在调用特定的对象时,搞清该对象的“父容器”是至关重要的,不能把一个对象的间接容器错误地视为其“父容器”。

  (2)对象使用局域名

  每个对象都有一个名字。在给对象命名时,只要保证同一个“父容器”下的各对象不重名即可,换句话说,对象使用的是局域名,因此不能单独使用对象名来调用对象,对象调用的一般格式是:

  ObjectL.Object2….

  0bjectL、Object2是对象名字,其中Objectl是Object2的“父容器”,这种格式所表示的是Object2而非Objectl,“对象”与其“父容器”间用一个小数点(.)分隔。

  (3)几个代词的用法

  在进行对象调用时,有几个经常使用的代词,应理解其含义并能熟练应用。

打印本文 打印本文  关闭窗口 关闭窗口