如何使用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.
相关产品推荐
相关产品推荐

