Einzelnen Beitrag anzeigen

Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#3

Re: rechtsbündiges Stringgrid

  Alt 23. Okt 2004, 23:08
DT_VCENTER bewirkt nichts !

Habe hier ein Beispiel, das mit einem neuen Projekt und folgendem Code gemacht wurde:

Delphi-Quellcode:
procedure sgRechts (sg: TStringGrid; Rect: TRect; ACol, ARow:Integer);
var st: String;
begin
  sg.Canvas.FillRect(Rect);
  st := sg.Cells[ACol,ARow];
  DrawText(sg.Canvas.Handle, PChar(st), StrLen(PChar(st)),Rect,DT_RIGHT OR DT_VCENTER);
end;

procedure Tform1.StringGrid1DrawCell(Sender: TObject; ACol,ARow: Integer; Rect: TRect; State: TGridDrawState);
begin
  inherited;
  if (ACol in [1..3]) then
    sgRechts(StringGrid1, Rect, ACol, ARow);
end;
Im Anhang sieht man das Ergebnis. In der letzten Zeile sieht man, wie es aussieht, bevor die Zelle verlassen wird.
Miniaturansicht angehängter Grafiken
unbenannt_127.gif  
Gruß
Hansa
  Mit Zitat antworten Zitat