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

格伦·摩斯

我有一个自定义组件TCard = class(TGraphicControl),我想它的创建,将有一个标签,它的区域内恩时(上图:= 5)(左:= 5),它总是把TLabelTCard创建时在该点。

 type
   TCard = class(TGraphicControl)
   private
      FLPower:TLabel;
      procedure SetLPower(value:TLabel);
   protected
      procedure Paint; override;
   public
    property LPower: TLabel read FLpower write SetLPower;


...

 constructor Tcard.Create(AOwner: Tcomponent);
 begin
   inherited Create(AOwner);
   FLPower := TLabel.Create(self);
end

  procedure TCard.SetLPower(value: TLabel);
  begin
    FLPower.Assign(value);
  end;

  procedure Tcard.Paint;
  begin
      FLPower.Left := 5;
      FLPower.Top := 5;
  end;

我知道我所拥有的是不对的,但我想展示一些东西。另外,如果有帮助,我计划将来可以做TCard.LPower.Caption:= inttostr(somenumber); 因此,如果您可以在那工作,那么请加分..如果没有,我可以稍后再解决..但想提出警告,以防您建议由于该原因而无法工作。谢谢格伦

大卫·赫弗南(David Heffernan)

TGraphicControl不能用作父控件,因此您不能采用这种方法。

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

因此,不要创建标签控件,而是将字符串类型的Text属性添加到控件中。然后,在“绘制”方法中,将文本绘制到绘制画布上。修改Text属性后,请使您的控件无效,以便可以重新绘制它。

无论如何,这样做是正确的方法。在顶部添加仅用于绘制文本的额外控件。您已经选择了最轻的重量控制装置。绘制卡的背景,然后绘制所需的任何文本。任务完成。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Android无法将子级添加到自定义布局(继承自ViewGroup)

将标签和字段添加到自定义joomla组件

无法在wxPython中将自定义Sizer作为父级添加到其子级小部件

将项目添加到自定义组件的布局

将Floatformat添加到Django自定义标签

将子视图添加到自定义类

如何将自定义类的子级添加到GameScene?

WordPress-如何将自定义类添加到子菜单<ul>标签

Notepad ++将自定义标签添加到行

无法将项目添加到extjs中的自定义组件

将链接/模板列添加到自定义表组件

反应-如何将DOMAttribute添加到自定义组件?

通过自定义组件将 props 添加到 styled-component

将类添加到自定义组件angular 2

如何将Vanilla .js添加到自定义Vue组件

将 Background 属性添加到自定义 TextView 组件,底部只有边框

将附加类名添加到自定义React组件

如何将 Height 属性添加到自定义 React 组件

将子视图添加到窗口中的视图时,将重置自定义NSCursor

将视图作为参数添加到自定义ViewModifier

Android Chrome自定义标签将“复制链接”添加到选项菜单

将监听器添加到Chrome“自定义标签”“关闭”按钮

将自定义字段添加到子列表

如何构建将其内容添加到其子级之一的自定义视图?

将自定义参数添加到自定义组件“components”属性

将自定义道具添加到自定义组件

将自定义处理程序类添加到 JSF 自定义组件

将图标添加到自定义操作栏

Java:将MouseListener添加到自定义JComponent