C++ Builder 参考手册 ➙ TComponentState
System::Classes::TComponentState 是组件类 System::Classes::TComponent 的 ComponentState 属性的类型,组件的状态。
- 头文件:
#include <System.Classes.hpp>
- 命名空间:
System::Classes
- 类型定义:
enum System_Classes__55 : unsigned char
{
csLoading,
csReading,
csWriting,
csDestroying,
csDesigning,
csAncestor,
csUpdating,
csFixups,
csFreeNotification,
csInline,
csDesignInstance
};
typedef System::Set<System_Classes__55,
System_Classes__55::csLoading,
System_Classes__55::csDesignInstance> TComponentState;
组件状态 | 说明 |
---|---|
csLoading | 一个文件管理对象正在加载这个组件。 当这个组件第一次创建的时候,设置了这个状态值, 一直到这个组件和这个组件容纳的所有子组件都加载完成, Loaded 方法被调用的时候,这个值才被清掉 |
csReading | 这个组件正在从流里面读取属性值。 当 csReading 被设置的时候, csLoading 也会被设置。 csReading 是 csLoading 的一个子区间, 当读取属性的时候被设置 |
csWriting | 这个组件正在把属性值写入流中 |
csDestroying | 这个组件正在被销毁 |
csDesigning | 这个组件正在处于设计期间, 即用画面编辑器设计画面的设计期间 |
csAncestor | 这个组件是被继承的, 只有包含 csDesigning 的时候才可能包含 csAncestor |
csUpdating | 这个组件正在被更新, 正改变反映在被继承的窗口表单里面。 只有当包含 csAncestor 状态的时候,这个状态在才会被设置 |
csFixups | 这个组件关联到其他未加载的窗口表单里面的组件, 一直到所有相关的组件都加载完成了,这个标志才会被清除 |
csFreeNotification | 一个或多个其他组件在销毁的时候,通知这个组件它们被销毁了。 当其他组件调用了这个组件的 FreeNotification 方法时, 这个值就被添加进来了 |
csInline | 这是最顶层的组件, 可以在设计期间编辑和修改,并且嵌入到了一个窗口表单里面。 这个值是用来判断嵌套框架 (frames) 当加载和保存的时候 |
csDesignInstance | 这个组件在设计器里面是根对象。 只有包含 csDesigning 状态的时候, 才可以包含 csDesignInstance 状态。 例如,对于一个 Frame, 当正在用画面编辑器编辑这个 Frame 的时候,这个状态值被设置, 但是当这个 Frame 当作一个组件放在了其他 Form 或 Frame 里面的时候, 就不会被设置 |
参考:
- System::Classes::TComponent::ComponentState
- System::Classes::TComponent::ComponentStyle
- System::Classes::TComponentStyle
- System::Classes::TComponent
- System::Classes::TPersistent
- System::TObject
- PME 架构
- VCL 类继承关系
C++ Builder 参考手册 ➙ TComponentState