在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
TComponent类 TComponent类直接由TPersistent派生。TComponent的独特特征是它的属性能够在设计期间通过ObjectInspector来控制,能够拥有其他组件。非可视组件也是从TComponent派生的,因此它们也继承了在设计期间可以被控制的能力。TComponent派生的非可视对象的典型例子是TTimer组件。TTimer组件是不可视组件,但它仍可以在组件面板上得到。TComponent定义了几个重要的属性和方法,在随后的段落中将加以描述。 1.TComponent的属性: Owner:组件的拥有者 ComponentCount:组件所拥有的组件数目 ComponentIndex:组件在其拥有者列表中的位置。列表中第一个组件的该值为0 Components:一个属性数组,包含组件拥有的组件列表。列表中第一个组件的该值为0 ComponentState:该属性包含TComponentState类型组件的当前状态。(更详细的解释: ComponentState属性 ComponentStyle:组件的风格。可设为csInheritable或csCheckPropAvail,其意思参见在线帮助。 Name:组件的名称 Tag:一个整数,该属性没有确定的意思。组件编写者不能使用它,但应用程序编写者可以使用。因为该值为一整数类型,数据结构的指针(甚至于对象实例)可以通过它来区分。 DesignInfo:不要使用这个属性。它由窗体设计器使用。 2.TComponent的方法 TComponent定义了几个方法,可以拥有其他组件,可以在窗体设计器上被控制。TComponent定义了组件的构造器Create()。该构造器负责创建组件的实例并通过参数传递指定组件的拥有者。与TObject.Create()不同,TComponent.Create()是虚拟的。TComponent派生类要实现构造器,必须覆盖这个方法。虽然你能在组件类中声明其他的构造器,但在设计期和运行期基于流创建组件的实例时,VCL只能使用TComponent.Create()构造器。 TComponent.Destroy():析构器用于释放组件及其所有资源。 TComponent.Destroying():方法用于给组件及其所拥有的组件设置一个状态,表示它们正在被销除。 TComponent.DestroyComponents():方法用于析构组件。一般你不必直接使用这些方法。 TComponent.FindComponents():方法便于你查找只知道名字的组件。假设你知道主窗体中有一个叫Edit1的TEdit组件,当你想查找这个组件时,你可以通过执行下列代码来获取它的实例指针: TComponent.GetParentComponent():方法返回父组件的实例。如果该组件没有父,这个方法将返回nil。 TComponent.HasParent():返回一个Boolean值,表明组件是否有父。注意该方法与组件是否有拥有者无关。 TComponent.InsertComponent():方法增加一个组件,为调用该方法的组件所拥有; TComponent.RemoveComponent():从调用该方法的组件中删除一个它拥有的组件。你一般不需要调用这些方法,因为组件的Create()构造器和Destroy()析构器会自动调用它们。 |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论