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 einem Grid bestimmte Zellenwerte einfärben (https://www.delphipraxis.net/126080-einem-grid-bestimmte-zellenwerte-einfaerben.html)

implementation 17. Dez 2008 15:48


In einem Grid bestimmte Zellenwerte einfärben
 
Ich möchte in einem ValueListEditor die Werte der rechten Spalte blau färben.
Das hört sich einfach an, aber scheint doch schon Probleme zu bereiten.

Hier der aktuelle Inhalt des OnDrawGrid-Ereignisses:
Delphi-Quellcode:
procedure TForm1.ValueListEditor1DrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
begin
  if ACol=1 then ValuelistEditor1.Canvas.Font.Color := clBlue
  else          ValueListEditor1.Canvas.Font.Color := cLBlack;
end;
Der Fall hört sich klar an, da sofort die Font-Eigenschaft des ganzen Grid-Canvas verändert wird.
Aber gibt es eine andere Möglichkeit?
Es wird schließlich nicht so was wie CellCanvas übergeben.

Hawkeye219 17. Dez 2008 16:18

Re: In einem Grid bestimmte Zellenwerte einfärben
 
Hi,

du kannst so vorgehen:

Delphi-Quellcode:
procedure TForm1.ValueListEditor1DrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect;
  State: TGridDrawState);
begin
  if ((ARow = 0) or (ACol <> 1)) then
    Exit; // nicht in Zeile 0 (Header) und nur in Spalte 1

  ValueListEditor1.Canvas.Font.Color := clBlue;
  ValueListEditor1.Canvas.TextOut (Rect.Left + 2, Rect.Top + 2, ValueListEditor1.Cells[ACol, ARow]);
end;
Gruß Hawkeye

implementation 18. Dez 2008 17:03

Re: In einem Grid bestimmte Zellenwerte einfärben
 
danke!
es klappt so!


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:30 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