Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi in StringGrid in jeder Zeile eine andere Zelle einfärben? (https://www.delphipraxis.net/10947-stringgrid-jeder-zeile-eine-andere-zelle-einfaerben.html)

Delphi-Coder 28. Okt 2003 15:39


in StringGrid in jeder Zeile eine andere Zelle einfärben?
 
Hallo DP'ler,

wie kann ich in einem StringGrid in jeder Zeile eine andere Zelle rot einfärben? Ich hab schon einiges versucht, aber entweder es wird die ganze Spalte eingefärbt, oder nur die entsprechende Zelle in der letzten Zeile!

Vielen Dank schonmal!

MfG
Delphi-Coder

s14 28. Okt 2003 16:09

Re: in StringGrid in jeder Zeile eine andere Zelle einfärben
 
Hallo

mit diesem Beispiel kannst Du eine bestimmte Zelle einfärben, vielleicht hilfts ja weiter :roll:

Delphi-Quellcode:
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
var
  s: String;
begin
  if (ACol = 2) and (ARow = 3) then
  with Sender as TStringGrid do
  begin
    s := Cells[ACol, ARow];
    Canvas.Brush.Color := clRed;
    Canvas.FillRect(Rect);
    DrawText(Canvas.Handle, PChar(s), Length(s), Rect, DT_LEFT);
  end;
end;
Der Code muss in das Ereignis OnDrawCell eingefügt werden.

Gruß
s14

Delphi-Coder 28. Okt 2003 16:16

Re: in StringGrid in jeder Zeile eine andere Zelle einfärben
 
Danke für die Antwort! Das hat funktioniert! Bei meinem Code hatte ich nur eine if-Anweisung falsch gesetzt!


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:09 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz