Центрировать текст в StringGrid в Delphi

Я хочу знать, как установить текст в центре ячейки в StringGrid (вертикальной и горизонтальной)... Я использую холст StringGrid.

Я использую Delphi, и я хочу самый простой способ сделать это...

Может кто-нибудь мне помочь?

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;
Другие вопросы по тегам