Discussion:
Button aktivieren nach Abhaengigkeiten
(zu alt für eine Antwort)
Dietmar Braun
2014-07-18 20:33:09 UTC
Permalink
Hallo,

in meinem Programm habe ich einen recht aufwendigen Optionen-Dialog, mit
allen moeglichen Elementtypen - ziemlich viele.
Nun soll ein Button "Optionen speichern" erst dann aktiviert werden,
wenn der Benutzer irgendwo ein Element geaendert hat.

In einer uralten App aus Studentenzeiten ;) habe ich das damals so
"geloest", dass ich einen Timer auf das Formular gelegt habe, der
regelmaessig prueft, ob sich die Optionen im Dialog gegenueber den
gespeicherten Optionen geaendert haben - falls ja, wird der Button
aktiviert, ansonsten wieder deaktiviert.

Dies funktioniert einwandfrei, scheint mir aber mittlerweile nicht mehr
"state of the art" bzw. sogar eine sehr kranke Loesung zu sein ;)

Wie loest Ihr sowas? Ich moechten ungern fuer dutzende von Elementen auf
dem Formular onClick, onChange oder was auch immer setzen muessen, um
das gewuenschte Verhalten zu erreichen...

Vielen Dank schonmal!

Gruss,
Dietmar

---
This email is free from viruses and malware because avast! Antivirus protection is active.
http://www.avast.com
Hans-Peter Diettrich
2014-07-18 22:17:53 UTC
Permalink
Post by Dietmar Braun
Hallo,
in meinem Programm habe ich einen recht aufwendigen Optionen-Dialog, mit
allen moeglichen Elementtypen - ziemlich viele.
Nun soll ein Button "Optionen speichern" erst dann aktiviert werden,
wenn der Benutzer irgendwo ein Element geaendert hat.
In einer uralten App aus Studentenzeiten ;) habe ich das damals so
"geloest", dass ich einen Timer auf das Formular gelegt habe, der
regelmaessig prueft, ob sich die Optionen im Dialog gegenueber den
gespeicherten Optionen geaendert haben - falls ja, wird der Button
aktiviert, ansonsten wieder deaktiviert.
Dies funktioniert einwandfrei, scheint mir aber mittlerweile nicht mehr
"state of the art" bzw. sogar eine sehr kranke Loesung zu sein ;)
Wie loest Ihr sowas? Ich moechten ungern fuer dutzende von Elementen auf
dem Formular onClick, onChange oder was auch immer setzen muessen, um
das gewuenschte Verhalten zu erreichen...
Letzeres wäre aber IMO die einzig sichere Lösung. Natürlich nicht von
Hand setzen, das ist zu unzuverlässig, wie alle Lösungen in denen die
Optionen irgendwie einzeln auscodiert werden müssen. Stattdessen würde
ich in einer Schleife in FormCreate alle Komponenten abklappern und
ihnen den jeweils passenden (je nach Komponenten-Klasse) Handler aufbrummen.

DoDi

Loading...