如何在 Firemonkey 的 TTabItem 中插入另一个控件
Posted
技术标签:
【中文标题】如何在 Firemonkey 的 TTabItem 中插入另一个控件【英文标题】:How to insert another control into TTabItem in Firemonkey 【发布时间】:2021-12-10 03:42:56 【问题描述】:我想在TTabControl
的“选项卡式”部分TTabItem
中插入一个额外的TText
,这样我就可以有另一个不同颜色的文本。
似乎无法将控件移至“选项卡式”部分。
有没有办法做到这一点?
【问题讨论】:
对不起,如果我的问题不清楚。我已经粘贴了一张图片来说明我需要什么。我需要在 HOME 底部(区域)的某个位置添加一个新的 TText。我不想将新的 TabItem 添加到 TabControl。这个新的文本位置与“home”文本的颜色和大小不同。理想情况下,我想控制“新”绿色文本的确切位置。 您可以绘制实现 TTabItem 的onPaint
事件的自定义文本,但您只会在运行时看到您的文本。
@AlexSawers 如果您可以将其发布为答案,我会将其标记为答案。感谢您的提示!
【参考方案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;
产生这个:
【讨论】:
以上是关于如何在 Firemonkey 的 TTabItem 中插入另一个控件的主要内容,如果未能解决你的问题,请参考以下文章