Modaler Dialog EndDialog oder DestroyWindow ?



  • Nabend,

    ich habe einen modalen Dialog erstellt, der ein
    2tes Dialogfenster aufruft. Mit dem 2ten Fenster
    soll weiter gearbeitet werden und das erste soll
    bei Aufruf des 2ten sofort geschlossen werden.
    Ich habe in der FAQ EndDialog und DestroyWindow
    gefunden. Was ist die beste Lösung und wie wende
    ich die Syntax eigentlich genau an ?
    Kleines Beispiel wäre ganz super.

    Code bisher:

    void CFensterDlg::OnButton1() 
    {
    m_neues.DoModal();
    //hier dann also z.B. EndDialog (??) bzw. Bool DestroyWindow (??)
    }
    

    Man ist das spät :p

    Auf dem Weg ins Bett,

    Chris
    P.S. warum hat die MSDN keine guten Beispiele für newbies ? 😉



  • m_neues.DoModal();
    // hier kommst du erst hin, wenn m_neues zerstört ist, also nichts von beiden benutzen :)
    


  • versuche eine der beiden Funktionen oberhalb von m_neues.DoModal()



  • Versuchs doch mal so:

    void CErsterDialog::OnDialog2()
    {
        CZweiterDialog dlg2;
        // ... hier ersten Dialog verstecken, weiß jetzt den Code nich
        dlg2.DoModal();
    
        OnOK(); // damit der erste Dialog sauber abgebaut wird
    }
    


  • Danke, ich mußte nur OnOK() nach oben verschieben.
    Hier nochmal der Quelltext für alle die es wissen wollen:

    void CErsterDialog::OnDialog2()
    {
    
        OnOK(); // damit der erste Dialog sauber abgebaut wird
        CZweiterDialog dlg2;
    
        dlg2.DoModal();
    
    }
    

    Chris


Anmelden zum Antworten