Einzelnen Beitrag anzeigen

Benutzerbild von Sharky
Sharky

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

Re: Stringgrid bestimmte zellen bearbeien

  Alt 13. Jul 2005, 05:59
Hai Lilo,

wenn Du in einem StringGrid die Formatierung änder möchtest musst Du auch dafür sorgen dass alles gezeichnet wird.
In deinem Code setzt Du nur die Farben aber Du gibst den Text nicht aus

Hier einmal ein Beispiel mit einigen Kommentaren. Ich hoffe das bringt Licht in die Dunkelheit
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;
Zitat von Lilo:
edit: omg und dann auch noch falsches forum
Es gibt in der DP die Möglichkeit einen Beitrag dem Team zu melden. Dafür einfach auf das http://www.sharkys-home.de/dp/melden.jpg oben rechts klicken und schreiben warum Du ihn meldest. Es wird sich bestimmt ein Moderator finden der das dann erledigt
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat