将标签作为子项添加到自定义组件

时间:2013-10-19 07:10:14

标签: delphi delphi-xe2

我有一个自定义组件TCard = class(TGraphicControl)我希望它在创建它时会在它的区域ex(top:= 5)(left:= 5)中有一个标签,并且它总是会放{{1}在创建时在该位置TLabel上。

TCard

我知道我的不对,但我想展示一些东西。如果它有帮助,我计划将来做TCard.LPower.Caption:= inttostr(somenumber);因此,如果你可以工作,然后加入..如果不是我可以在以后想出来..但是想要提醒一些你认为不会因此而工作的东西。 谢谢 格伦

1 个答案:

答案 0 :(得分:2)

TGraphicControl不能用作父控件,所以你不能采用这种方法。

标签本质上非常简单。这只是文字。您已选择使用TGraphicControl,这意味着您将实现Paint方法。

因此,不是创建标签控件,而是向控件添加string类型的Text属性。然后,在Paint方法中,将文本绘制到绘画画布。修改Text属性后,使控件无效,以便重新绘制它。

无论如何,这样做是正确的方法。添加额外的控件只是为了绘制文本是顶部。你已经选择了最轻的重量控制器,这很好。绘制卡片的背景,然后绘制所需的任何文本。完成工作。