Einzelnen Beitrag anzeigen

Benutzerbild von Sharky
Sharky

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

Re: Stringgrid färben und mit Text füllen

  Alt 2. Sep 2005, 10:33
Hai fredo1234,

ersteinmal: "Herzlich Willkommen in der Delphi-PRAXiS".

Du musst dafür das Ereigniss Delphi-Referenz durchsuchenOnDrawCell deines StringGrids verwenden.
Hier einmal ein Beispiel das alles erklären sollte

Delphi-Quellcode:
procedure TForm1.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 (ACol = 1) and (ARow = 1) then // Nur für Celle 1:1
    begin
      canvas.Brush.Color := clred; // Hintergrundfarbe
      canvas.Font.Color := clblue; // Schriftfarbe
    end;
    if (ARow = 3) then // Für die dritte Zeile
    begin
      canvas.Font.Style := canvas.Font.Style + [fsBold];
    end;
    if (ACol = 2) then
    begin
      canvas.Brush.Color := clGreen;
    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;
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat