2016-06-04 14 views
1

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

Я использую 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;