Child Window -> Parent-Fenster "deaktivieren"



  • Tag alle miteinander,

    ich möchte in meiner Anwendung ein Fenster erzeugen, vom Prinzip her wie eine MessageBox, die bei einer Aktion auftaucht, aber eben mit anderen Elementen als eine normale MessageBox. Und ich möchte, dass solange dieses Fenster da ist, das Parent-Fenster "deaktviert" ist, also keine Buttons gedrückt werden können etc.
    Ich wollte das Fenster mit der Methode CWnd:Create(...) erstellen. Ich dachte eigentlich, ich finde einen passenden Window-Style, den ich der Methode übergeben kann. Hab aber keinen gefunden.
    Oder ist mein Vorgehen prinzipiell falsch?

    Grüße,
    benner


  • Mod

    1. Ein Modaler Dialog erfüllt dies. CDialog::DoModal
    2. Eine MessageBox erfüllt dies AfxMessageBox

    Beide Wege deaktivieren das Parent Fenster mit EnableWindow(FALSE) nachdem es erzeugt wurde, und enablen das Parent Fenster wieder, bevor, der Dialog/Messagebox zerstört wird.

    Die Reihenfolge ist wichtig!



  • Ich benutze jetzt einen CDialog. Wie kann ich bewirken, dass DoModal mit ID_OK oder ID_CANCEL beendet wird, wenn ich nicht die Buttons verwenden möchte, die schon im Dialog vorgegeben sind?


  • Mod

    Du kanst selbst EndDialog aufrufen, wann immer Du willst!



  • Alles klar, besten Dank. Genau das was ich suchte, dachte nicht dass es so einfach wäre. Ich dachte ich müsste irgendwelche Nachrichten erzeugen/verschicken 🙄


Anmelden zum Antworten