You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用TTextFormat在Delphi Canvas上实现文本居中?

Delphi Canvas.TextRect 文本居中实现(适配新版TTextFormat参数)

所需居中标志

实现文本在指定矩形内水平+垂直居中,需组合以下TTextFormatFlags集合标志:

  • tfCenter:设置水平居中
  • tfVerticalCenter:设置垂直居中
  • tfSingleLine:配合垂直居中使用,确保单行文本在矩形内垂直居中(多行场景该标志不生效)

替换后的完整代码

procedure TForm1.Button1Click(Sender: TObject);
var
  TargetRect: TRect;
begin
  Canvas.Font.Size := 22;
  Canvas.Font.Color := clRed;
  TargetRect := Rect(100, 100, 300, 300);
  // 使用新版TextRect重载,传入目标矩形、起始坐标、文本及格式标志
  Canvas.TextRect(TargetRect, 0, 0, 'Hello', [tfCenter, tfVerticalCenter, tfSingleLine]);
end;

关键说明

新版TextRect的格式参数改为TTextFormatFlags集合,无需再使用过时的TTextStyle。使用居中标志时,传入的x、y坐标会被格式规则覆盖,因此可以传0这类占位值,文本会自动基于指定的TargetRect居中显示。

内容的提问来源于stack exchange,提问作者gene b.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 06:46:20