【发布时间】:2011-03-25 22:00:28
【问题描述】:
来自这个问题Passing object in reference / one place to style objects
我只是在想,如果我为我正在设计的项目创建一个后代类会怎么样。
例如(请原谅糟糕的代码,不在 ide 中,但你应该明白我的意思)
TStyledButton = class(TButton)
public
constructor Create; //This overrides the main TButton
end;
constructor TStyledButton.Create;
begin
inherited;
self.Color := clRed;
end;
然后在我的表单中,我只是将 Button1 作为 TStyledButton。
这将删除表单创建中的所有额外代码以处理设置样式/调用函数来设置样式。
唯一的问题是,这将如何在设计视图中进行,我是否必须注册此对象(组件?)以便它实际上像往常一样显示在设计视图中。
【问题讨论】:
-
拥有自己的一套源自标准 VCL 组件的组件和控件会带来很多好处,但代价是需要额外的管道。至于如何让这些组件进入设计器,我记得都是有据可查的。