Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Library: Grafik / Sound / Multimedia (https://www.delphipraxis.net/21-library-grafik-sound-multimedia/)
-   -   Delphi Zeilen eines StringGrids färben. Aktive Zelle färben (https://www.delphipraxis.net/3179-zeilen-eines-stringgrids-faerben-aktive-zelle-faerben.html)

Sharky 27. Feb 2003 12:46


Zeilen eines StringGrids färben. Aktive Zelle färben
 
Folgender Code färbt jede zweite Zeile eines StringGrids ein.
Wenn RowSelect = False ist wird die Zelle die den Fokus besitzt in Blau dargestelle.

Das sollte dan eigentlich an alle anderen Grids angepasst werden können.


Delphi-Quellcode:
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
 Rect: TRect; State: TGridDrawState);

begin
  if (ACol > 0) and (ARow > 0) then
  begin
    with (Sender as TStringGrid) do
    begin
      if ((ARow mod 2) = 0) then        //jede zweite Zeile berücksichtigen
      begin
        if (not (gdSelected in State)) then
        begin
          Canvas.Brush.Color := clGreen;   //Farbe die jede zweite Zeile bekommen soll.
          Canvas.FillRect(Rect);
        end;
      end;
      if ((not (goRowSelect in Options)) and (gdFocused in State)) then //Wenn RowSelect = False die aktive Zelle blau färben
      begin
        Canvas.Brush.Color := clBlue;     //Farbe der selektierten Zelle wenn RowSelect = False;
        Canvas.FillRect(Rect);
      end;
      Canvas.TextOut(Rect.Left + 2, Rect.Top + 1, StringGrid1.Cells[ACol, ARow]); //Denn Text in der Zelle ausgeben
    end;
  end;
end;
[edit=Matze]Code formatiert. Mfg, Matze[/edit]


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:52 Uhr.

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