Thema: Delphi 2 Stellen im Stringgrid

Einzelnen Beitrag anzeigen

Hansa

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

Re: 2 Stellen im Stringgrid

  Alt 10. Mär 2004, 21:21
Das Thema ist immer noch nicht erledigt. Ich habe jetzt fast alle DB-Komponenten eliminiert und den Hasen gegeben.

In einem StringGrid sollen nun die Zahlen rechtsbündig angezeigt werden. Mit folgenden zusammengesuchten Prozeduren:

Delphi-Quellcode:
procedure TvorlArtAusg.StringGrid1DrawCell(Sender: TObject; ACol,
  ARow: Integer; Rect: TRect; State: TGridDrawState);

procedure WriteText(StringGrid: TStringGrid; ACanvas: TCanvas; const ARect: TRect;
    const Text: string);
  const
    DY = 2;
  var
    S: array[0..255] of Char;
  begin
    with Stringgrid, ACanvas, ARect do begin
      ExtTextOut(Handle, Right - TextWidth(Text) - 3, Top + DY,
            ETO_OPAQUE or ETO_CLIPPED, @ARect, StrPCopy(S, Text),
            Length(Text), nil);
    end;
  end;

procedure Display(StringGrid: TStringGrid; const S: string);
begin
  WriteText(StringGrid, StringGrid.Canvas, Rect, S);
end;

begin
  if (ACol = 1) or (ACol >= 4) then
    Display(StringGrid1, StringGrid1.Cells[ACol, ARow]);
end;
Jetzt ist es zwar rechtsbündig, aber die Nullen am Ende werden nicht angezeigt und ich weiß auch nicht, wo ich da eingreifen soll. Die Strings sind alle als Const deklariert.
Gruß
Hansa
  Mit Zitat antworten Zitat