TComponentState = set of (csLoading, csReading, csWriting, csDestroying,
csDesigning, csAncestor, csUpdating, csFixups, csFreeNotification, csInline, csDesignInstance);
csAncestor:
该状态表示这一组件是在父窗口类中引进的组件,只有在csDesigning被设置的前提下才能设为该状态,也就是说只有处于设计期的组件才有可能被设为该标识。
csDesigning:
被设置为这一状态的组件表明该组件正处于设计期中,即组件是由窗口设计器所操纵着在进行窗口的可视化设计。在Delphi的可视化设计中,设计时放在窗口中的组件并不是Delphi根据组件在DFM文件中的属性而画在窗口上的,它实际上是一个真实的Window窗体,只不过是由Delphi的窗体设计器所控制而已,而且组件的构造函数也已运行过。
csDestroying:
该状态表示组件马上要被销毁。
csFixups:
处于该状态的表明组件与另一个还未调入的窗口有关联,当相关的窗口调入后,该标识将会被清除。
csFreeNotification:
该标识表示组件在销毁时需要向一个或多个发出销毁的通知。只有另一个组件调用了该组件的FreeNotification方法后组件才会被设置为该属性。
csInline:
该标识主要是在窗框Frame保存和调入时用于区分嵌套的Frame对象。被设置了该标识的组件是处于窗体是最上层的组件,可以在设计期进行可视化的属性设计或修改。
csLoading:
该标识表示组件正处于装载过程中,即组件正被一个TFiler或其派生类对象所装载,只有组件所拥有的所有子组件被装载后该标识才会被清除。
csReading:
当组件被装载时,组件正由一个流中读取组件属性时被设为此标识,它往往与csLoading标识一同被设置,因为csReading标识是在组件被装载而还未读入属性的间隔时刻被设置为此标识的。
csUpdating:
该标识表示组件正处于更新过程中以反映出祖先窗口的变化,只有被设置了csAncestor标识的组件才有可能设置有该属性。
csWriting:
该标识表示组件正在将其属性写到一个流对象中。
csDesignInstance:
该标识往往与csDesigning标识一同出现。该标识表示组件是窗口设计器中的根对象。