控件属性的默认值为什么总是CLBLACK(50分)

  • 主题发起人 主题发起人 xuziling20
  • 开始时间 开始时间
X

xuziling20

Unregistered / Unconfirmed
GUEST, unregistred user!
声明 中 propery acolor:tcolor read facolor write setcolor default clred;

在constructor create中也有初始化:tmycomponent.acolor:=clred;
可是在设计时,属性面板中还是CLBCLACK ,为什么不是CLRED?
 
fcolor:=clred;
你的SetColor怎么写的?那里可能有问题(猜的),不过你最好还是看看。
不然 aColor:=clred 应该不会出问题。
改了之后记得ReBuild...
 
TO jobslee:
是这样的,我的控件在设计时,比如一个panel设计时是红色的,可是它的color属性值
在面板上却是CLBLACK,按说应是CLRED才对啊,这样的话,我如不重新改COLOR属性的话,
一运行就变成黑的了。怎么办?
 
??
你不是加了个新的属性 AColor 吗 ?
和以前的Color没关系啊?
 
我也不太清楚 为什么 Default 不起作用,
但你在 constructor Create(AOwner: TComponent); override;中,把
颜色写成clred可以解决!
 
你从TCustomXXX继承试试。一般来说,当重新声明某个属性时,除了在private section
声明新的属性默认值之外,在该组件的Create 部分还要赋值。如果想把这个颜色设为面
板的颜色,它实际上是Brush.Color。
 
后退
顶部