我有一个自定义组件TCard = class(TGraphicControl)
我希望它在创建它时会在它的区域ex(top:= 5)(left:= 5)中有一个标签,并且它总是会放{{1}在创建时在该位置TLabel
上。
TCard
我知道我的不对,但我想展示一些东西。如果它有帮助,我计划将来做TCard.LPower.Caption:= inttostr(somenumber);因此,如果你可以工作,然后加入..如果不是我可以在以后想出来..但是想要提醒一些你认为不会因此而工作的东西。 谢谢 格伦
答案 0 :(得分:2)
TGraphicControl不能用作父控件,所以你不能采用这种方法。
标签本质上非常简单。这只是文字。您已选择使用TGraphicControl,这意味着您将实现Paint方法。
因此,不是创建标签控件,而是向控件添加string类型的Text属性。然后,在Paint方法中,将文本绘制到绘画画布。修改Text属性后,使控件无效,以便重新绘制它。
无论如何,这样做是正确的方法。添加额外的控件只是为了绘制文本是顶部。你已经选择了最轻的重量控制器,这很好。绘制卡片的背景,然后绘制所需的任何文本。完成工作。