Ich habe
hier einen Codeschnippsel gefunden, mit dem man die Zellen linksbündig, zentriert oder
rechtsbündig formatieren kann und den Code auf Rechtsbündigkeit gekürzt.
Delphi-Quellcode:
//http://www.delphi-forum.de
//procedure WriteTextAligned und
//procedure TForm1.StringGrid1DrawCell
procedure WriteTextAligned(Canvas: TCanvas; Rect: TRect; Alignment: TAlignment; Text: string);
var xPos, yPos: integer;
begin
xPos := Rect.Left + 2; // Standard verhalten
yPos := Rect.Top + 2; // Standard verhalten
with Canvas do
begin
xPos := Rect.Left + (Rect.Right - Rect.Left - TextWidth(Text) - 2);
TextRect(Rect, xPos, yPos, Text);
end;
end;
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
begin
// Alle Spalten rechtsbündig
WriteTextAligned(TStringGrid(Sender).Canvas, Rect, taRightJustify, TStringGrid(Sender).Cells[Acol, ARow]);
end;
Ich denke, das können andere auch gebrauchen ...