2016-06-04 16 views
1

Ich möchte wissen, wie man den Text in der Mitte einer Zelle in einem StringGrid (Vertical AND Horizontal) ... Ich benutze die Leinwand des StringGrid.Text in StringGrid in Delphi zentrieren

Ich bin mit Delphi und ich möchte die einfachste Weg, es zu tun ...

mir jemand helfen?

Antwort

1

Sie können die API-Funktion DrawText verwenden, die über Formatierungsfunktionen verfügt.

Einfaches Beispiel:

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;