![]() ![]() |
|
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)几个代词的用法 在进行对象调用时,有几个经常使用的代词,应理解其含义并能熟练应用。 |
|
![]() ![]() |