Dialogdaten speichern...
-
Hallo,
in einer dialogfeldbasierenden Anwendung werden mehrere untergeordnete Dialoge mit Create erstellt. Diese können dann über Buttons ausgewählt und angezeigt werden.
(Die einzelnen Unterdialoge werden jedoch nicht über den Button OK beendet.)Ich überprüfe in jedem Unterdialog, ob sich der Wert einer Membervariable (Steuerelement) verändert hat (EnChange, etc.) und setze dementsprechend ein FLAG.
Wechsle ich nun einen Unterdialg, soll SOFORT überprüft werden ob dieser dialog verändert wurde und bei
JA --> MessageBox, ob Daten gespeichert werden sollen
Nein --> Daten nicht übernehmen, --> nächsten Dialog öffnenSo weit zur Theorie....meines Erachtes nach muss ich doch dann die DoDataExchange - Funktion modifizieren.....-Flag überprüfen und dementsprechend weiter-! Gesagt, getan.
Jedoch wird diese beim Wechseln nicht aufgerufen, da der Dialog ja noch geladen ist.Wie löst man das am Geschicktesten? Stehe momentan auf dem Schlauch....!
Bin für jede Art von Hilfe dankbar....
Gruss
S.
-
Versuchs doch mal mit
UpdateData(TRUE);
(die ruft nämlich intern DoDataExchange() auf!)
Gruß Steffen
-
Hallo,
erstmal Danke für den Tipp.
Allerdings befinden sich die Buttons zum Wechseln der Dialoge auf dem Hauptdialog.
Dann wäre ja wieder zu überprüfen, welcher Unterdialog gerade noch aktiv ist und so....!Aber die Idee ist echt gut. Mal schauen, wenn es keine direkte Möglichkeit gibt, dann werde ich das mal ausprobieren.
Danke jedenfalls.
Gruss
S.