Einzelnen Beitrag anzeigen

Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Stringgrid Menuleiste nicht zentriert

  Alt 22. Mai 2006, 18:55
Hai tom_po,

hihi der Code kommt mir doch bekannt vor.
Du gibst in Zeile 14 den Text zwar zentiert aus aber dann löschst Du ihn in Zeile 32 wieder um in dann wieder linksbündig zu zeichenen.

Am besten nimmst Du eine Variable in der Du den "Ausgabemodus" speicherst und dann ganz am Ende verwendest.


Delphi-Quellcode:
procedure Tlote.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
var
  celltext: string;
  Mode : Cardinal;
begin
  Mode := DT_SINGLELINE;
  with (Sender as TStringGrid) do
  begin
    celltext := Cells[ACol, ARow];
    if (ARow = 0) then // Nur für Zeile 0
    begin
      Mode := Mode or DT_Center;
    end;
// Hier beginnt nun das Zeichnen:

    Canvas.FillRect(Rect); // Hintergrund zeichnen
    DrawText(Canvas.Handle, PChar(celltext), Length(celltext),
      Rect, Mode); // Textausgeben
  end;
end;
Stephan B.
  Mit Zitat antworten Zitat