在delphi的StringGrid中居中文本

时间:2016-06-04 02:50:15

标签: delphi text alignment center stringgrid

我想知道如何在StringGrid(垂直和水平)中的单元格中心设置文本...我正在使用StringGrid的画布。

我正在使用Delphi,我想要最简单的方法来实现它......

任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:1)

您可以使用具有一些格式化功能的API函数DrawText

简单示例:

procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
var
  Grid: TStringGrid;
begin
  Grid := Sender as TStringGrid;
  Grid.Canvas.FillRect(Rect);
  DrawText(Grid.Canvas.Handle, Grid.Cells[ACol, ARow],
           Length(Grid.Cells[ACol, ARow]),
           Rect, DT_CENTER or DT_VCENTER or DT_SINGLELINE);
end;