Ich habe einen Dialog (CDialog abgeleitete Klasse), der auf zwei verschiedene Arten benutzt werden kann (Editiermodus und Programmiermodus).Konvertiere einen modalen Dialog zur Laufzeit in modal
Wenn der Dialog geöffnet wird, um im Programmiermodus verwendet zu werden, ist es ein nicht modaler Dialog, der für das Ändern der Hauptansicht (Art einer Symbolleiste) verwendet wird. Wenn es im Bearbeitungsmodus geöffnet ist, kann der Benutzer die Konfiguration des Dialogs selbst ändern und in diesem Fall ist es ein modaler Dialog.
Im Moment sind es zwei verschiedene Dialoge mit wenigen Unterschieden und ich möchte nur einen Dialog haben und den Benutzer zwischen dem Programmiermodus und dem Editiermodus wechseln lassen, nur durch Drücken einer Taste im Dialog.
Also muss ich den modalen Dialog in einem modalen Dialog und umgekehrt zur Laufzeit konvertieren. Gibt es einen Weg, das zu erreichen?
Danke.
Was meinst du mit Deaktivieren/Aktivieren der Eltern? Ich habe bereits versucht, GetParent() -> EnableWindow (FALSE)/GetParent() -> EnableWindow (TRUE) aufzurufen, aber das hat nicht funktioniert, weil mein Dialog auch deaktiviert wurde. Das Elternfenster ist zufällig der Hauptrahmen, ich weiß nicht, ob dies relevant ist. BTW: Was ich tun möchte, ist ein nicht modales Dialogfeld (Create/ShowWindow) zu öffnen, wenn der Benutzer eine Taste drückt, wird der Dialog modal. Wenn der Benutzer die Taste erneut drückt, wird der Dialog wieder nicht mehr modal. –