Einzelnen Beitrag anzeigen

tom_po

Registriert seit: 5. Feb 2006
137 Beiträge
 
Delphi 7 Enterprise
 
#1

Stringgrid Menuleiste nicht zentriert

  Alt 22. Mai 2006, 19:31
Ich habe eine Demo von hier verwendet und wollte die Menunamen in meinem Stringgrid (Row 0) zentrieren, sie bleiben aber linksbündig, was mache ich falsch?

Delphi-Quellcode:
procedure Tlote.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
var
  celltext: string;
begin
  with (Sender as TStringGrid) do
  begin
    celltext := Cells[ACol, ARow];
    if (ARow = 0) then // Nur für Zeile 0
    begin
      canvas.Font.Style := canvas.Font.Style + [fsBold];
      canvas.Brush.Color := clteal; // Hintergrundfarbe
      canvas.Font.Color := clwhite; // Schriftfarbe
      DrawText(Canvas.Handle, PChar(celltext), Length(celltext),
      Rect, DT_Center) // Schrift zentrieren
    end;
    if (ACol = 1) and (ARow > 0) then
    begin
      canvas.Brush.Color := clmoneygreen;
      canvas.Font.Style := canvas.Font.Style + [fsBold];
      canvas.Font.Color := clblue; // Schriftfarbe
    end;
     if (ACol = 0) and (ARow > 0) then
    begin
      canvas.Font.Size := 12;
      canvas.Font.Style := canvas.Font.Style + [fsBold];
      canvas.Font.Color := clred; // Schriftfarbe
    end;
   
// Hier beginnt nun das Zeichnen:

    Canvas.FillRect(Rect); // Hintergrund zeichnen
    DrawText(Canvas.Handle, PChar(celltext), Length(celltext),
      Rect, DT_SINGLELINE); // Textausgeben

    // Optional kann der Text auch Zentriert werden.
    // dann mit diesem Parameter;
    // DT_SINGLELINE or DT_Center or DT_VCENTER
  end;
end;
  Mit Zitat antworten Zitat