Registriert seit: 2. Apr 2004
Ort: Bonn
2.534 Beiträge
Delphi 11 Alexandria
|
AW: Checkbox in TGrid reagiert nicht
3. Feb 2019, 13:13
Ja, sorry, stimmt, in Delphi Seattle gab es das Event noch nicht.
Davon abgesehen, scheint das TGrid in der Seattle-Version mit diversen Problemen behaftet zu sein. Z.B., dass ein Klick zu keinem Event führt (egal ob click, mousedown), wenn direkt zuvor schon mal ein Klick auf die gleiche Zelle gemacht wurde. Das ist natürlich gerade für eine Checkbox, wo Werte von Klick zu Klick umgeschaltet werden müssen, ziemlich problematisch...
Außer einen direkten Eingriff in den Source des TGrids, sehe hier derzeit als WorkAround nur den Weg, in die TCheckColum ein TLayout einzufügen (alClient, Hittest auf true), dann das Mousedownevent beim Klick auf das TLayOut an das Grid weiterzuleiten und dort dann den Wert für den Checkstatus zu ändern und danach ein Update des Grids zu bewirken (ziemlich umständlich, ich weiß, falls jemand was einfacheres hat, her damit).
Da das sicher nicht so einfach nachzuvollziehen ist, habe ich in der Anlage mal ein Beispiel beigefügt (siehe auch Screenshot), in dem Memo ist die "Datenbank" für den Status der Checkboxen, die dann jeweils nach Klick auf die Checkbox (bzw. das Layout) angepasst werden, wobei hier auch die Checkboxen im Grid richtig aktualisiert werden.
|