我想知道如何在StringGrid(垂直和水平)中的单元格中心设置文本......我正在使用StringGrid的画布。
我正在使用 Delphi,我想要最简单的方法来做到这一点......
谁能帮我 ?
我想知道如何在StringGrid(垂直和水平)中的单元格中心设置文本......我正在使用StringGrid的画布。
我正在使用 Delphi,我想要最简单的方法来做到这一点......
谁能帮我 ?
您可以使用具有一些格式化功能的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;