【问题标题】:How to insert another control into TTabItem in Firemonkey如何在 Firemonkey 的 TTabItem 中插入另一个控件
【发布时间】:2021-12-10 03:42:56
【问题描述】:

我想在TTabControl 的“选项卡式”部分TTabItem 中插入一个额外的TText,这样我就可以有另一个不同颜色的文本。

似乎无法将控件移至“选项卡式”部分。

有没有办法做到这一点?

【问题讨论】:

  • 对不起,如果我的问题不清楚。我已经粘贴了一张图片来说明我需要什么。我需要在 HOME 底部(区域)的某个位置添加一个新的 TText。我不想将新的 TabItem 添加到 TabControl。这个新的文本位置与“home”文本的颜色和大小不同。理想情况下,我想控制“新”绿色文本的确切位置。
  • 您可以绘制实现 TTabItem 的 onPaint 事件的自定义文本,但您只会在运行时看到您的文本。
  • @AlexSawers 如果您可以将其发布为答案,我会将其标记为答案。感谢您的提示!

标签: delphi firemonkey tabcontrol tabitem


【解决方案1】:

由于要求在TTabItem 上显示简单的文本,因此可以使用TTabItem 控件的onPaint 事件轻松实现。所以这段代码:

procedure TForm1.TabItem1Paint(Sender: TObject; Canvas: TCanvas; const ARect: TRectF);
var
  R: TRectF;
begin
  // Use only 1/3 top part of the canvas
  R:=RectF(ARect.Left, ARect.Top, ARect.Right, ARect.Bottom / 3);
  // Set font color and size
  Canvas.Fill.Color := TAlphaColors.Seagreen;
  Canvas.Font.Size := 12;
  // Draw text
  Canvas.FillText(R, 'New!', False, 1, [], TTextAlign.Center, TTextAlign.Center);
end;

产生这个:

【讨论】:

    猜你喜欢
    • 2014-09-15
    • 2012-06-23
    • 1970-01-01
    • 2012-02-21
    • 1970-01-01
    • 2012-10-09
    • 1970-01-01
    • 2021-11-17
    相关资源
    最近更新 更多