Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Auf einzelne Zellen im Drawgrid zugreifen (https://www.delphipraxis.net/171760-auf-einzelne-zellen-im-drawgrid-zugreifen.html)

Mojito 23. Nov 2012 14:46

Auf einzelne Zellen im Drawgrid zugreifen
 
Hallo liebe Delphi-Freunde,

ich möchte auf die einzelnen Zellen in einem Drawgrid zugreifen, um diese bei einer bestimmten Aktion auf einen alten Farbwert zurück zu setzen. Bisher habe ich nur mit OnDrawCell es hinbeokmmen die aktuelle angewählte Zelle anzusteuern. Wie wähle ich jedoch alle anderen Zellen an?
Vielen Dank

DeddyH 23. Nov 2012 14:49

AW: Auf einzelne Zellen im Drawgrid zugreifen
 
Wenn ich nicht irre, musst Du doch nur ein Neuzeichnen des Grids anstoßen, dann sollte ja für jede Zelle das OnDrawCell-Ereignis durchlaufen werden.

Mojito 23. Nov 2012 14:54

AW: Auf einzelne Zellen im Drawgrid zugreifen
 
Wie lasse ich es neu zeichen drawgrid.repaint?

Blup 23. Nov 2012 14:55

AW: Auf einzelne Zellen im Drawgrid zugreifen
 
Es ist völlig richtig nur im OnDrawCell zu zeichnen.

Um das Neuzeichnen des ganzen Grids auszulösen:
Delphi-Quellcode:
{...}
Grid.Invalidate;
Will man gezielt eine bestimmte Zelle neu zeichnen lassen:
Delphi-Quellcode:
procedure InvalidateCell(AGrid: TDrawGrid; ACol, ARow: Integer);
var
  lRect: TRect;
begin
  lRect := AGrid.CellRect(ACol, ARow);
  InvalidateRect(AGrid.Handle, @lRect, True);
end;

DeddyH 23. Nov 2012 15:12

AW: Auf einzelne Zellen im Drawgrid zugreifen
 
Es gibt Refresh, Repaint, Invalidate, Update usw. Die Unterschiede der einzelnen Methoden habe ich auch nicht im Kopf, aber das sollte in der Hilfe beschrieben sein.


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