StringList im Editormodus farbige Cellen
-
Hi.
In der FAQ ist ein super Beitrag bezüglich des colorierens von Cellen.
http://www.c-plusplus.net/forum/viewtopic-var-t-is-39160.htmlMein Problem ist aber das wenn ich eine Celle deren Wert editieren will und meine Celle extra gelb gemacht habe, auf standard weiss zurückfällt und ich finde auch keinen Weg das anzupassen. Ich bezieh mich hier auf die Farbe die während des editierens des Cell-Inhalts vorliegt. Ich möchte auch beim editieren die Cellenfarbe haben bzw diese selbst bestimmen können.
Kennt sich jemand damit aus?
-
Prüfst Du denn auch, ob State gdFocused enthält?
-
gdFocused ist für die Farbe einer markierten Zelle, hat aber mit der Editrfarbe leider nichts zu tun.
Du klickst auf eine Celle und die ist gdFocused, nach nochmaligen klick bist im Edtitmodus, das ist aber für das Stringgrid nicht mehr gdFocused und es gibt auch sonst keine State Variable die dies zurückgibt.
-
Sagen wir es mal ganz anders.
Ich kann in StringGrid1DrawCell() plump eine Farbe für alles setzen, aber das "Alles" färbt nicht die Zelle zum Zeitpunkt der Eingabe. Diese ist immer weiss. Auch Color von StrinGrid hat keine Auswirkung auf die Eingabe.
-
In der Hilfe liest sich das aber anders:
Beschreibung
TGridDrawState enthält Statusinformationen für die Zelle eines Gitters, die dargestellt werden soll. TGridDrawState kann einen oder mehrere der folgenden Werte annehmen:
Wert Bedeutung
gdSelected Die Zelle ist aktuell ausgewählt.
gdFocused Die Zelle besitzt den Eingabefokus.
gdFixed Die Zelle befindet sich im festen Bereich des Gitters.Aber wenn es nicht funktioniert...
-
Ja gdFocused verhält sich sehr seltsam. Also darf ich davon ausgehen das dies wohl ein Bug(BCB5) sein muss. Das natürlich ärgerlich.
-
Nun ja, wohl weniger ein Bug, als mehr ein Feature des Inplace-Editors. Ob man darauf Zugriff erhalten kann, hab ich aber nicht ausprobiert. Dürfte, wenn überhaupt, nur mit WinAPI-Mitteln zu lösen sein.
-
Lösung ergoogelt. http://www.delphipraxis.net/viewtopic.php?t=1340
Werd mal versuchen direkt in meine Custom StrinGGrid einzubasteln.