mehrere Dialoge verknüpfen



  • Hallo Leute,
    Kann mir bitte jemand sagen, wie man Dialoge verknüpft?

    habe in einer SDI 3 Dialoge erstellt
    Dialogtest
    Dialog1
    Dialog2

    habe Dialog1 als Hauptdialog eingerichtet und 2 Buttons drauf, die andere beide Dialoge aufrufen/öffnen sollen, wenn die anklickt.

    Was aknn der Grund sein, dass untere Code Dialog2 nicht aufmacht?

    Ctestdlg testdlg 
    void Ctestdlg::OnOeffne2() //wenn button  gedrückt 
    { 
    2dlg.DoModal(); // dann soll 2dlg geöffnet werden 
    }
    

    Danke im Voraus



  • falls 2dlg noch nicht definiert ist kann das nicht funktionieren:

    void Ctestdlg::OnOeffne2() //wenn button  gedrückt
    {
    Dialog2 2dlg;
    2dlg.DoModal(); // dann soll 2dlg geöffnet werden
    }
    


  • benutzt du CRichEdit in dem zweiten Dialog?



  • Ist wohl wirklich so das du einfach den Dialog nicht erstellt hast ^^



  • Dialoge habe ich bereits erstellt un CRichText wende ich nicht an.Der Compiler meckert nicht und compiliert aber wird das verknüpfte Dialog nicht augemacht, sondern gibt es Speicherprobleme aus und fordert das Programm zu beenden.
    Mit den Hauptdialog funktioniert schon ganz gut, das Problem ist nur dass die beide andere Dialoge nicht aufgemacht werden..
    Habe .h Dateien auch kontrolliert, sind alle eingeschloßen.
    Habt Ihr eine Idee??
    Danke euch..



  • Psycho schrieb:

    Dialog2 2dlg;
    

    Müsste hier nicht eigentlich ein Compiler Error auftauchen wegen dem führenden 2er???



  • Dia Dialoge heißen anders, Dlg2 war nur symbolisch, aber mit Compilerfehler in dem Fall hast du Recht, habe schonmal gehabt
    Grüße.



  • Dann zeig mal ein wenig mehr Code, wo du das Objekt deines zweiten Dialogs erstellst und dann auch mit DoModal() anzeigen lassen möchtest.



  • Habe 3 Dialoge, die Inschriftendialog(Hauptdialog), InformatDialog und InNummerDialog.
    In dem Hauptdialog lade Datei in ein Editfeld(m_stext) und habe 2 Buttons(Ausgabeformat und Inschriftennummer)
    Meine Idee ist:
    Wenn ich in Hauptdialog auf Button Ausgabeformat klicke sollte das Dialog InFormatdialog geöffnet werden, das ich da weitere Aufgaben erledigen kann.
    [C++]
    //Die Dateien in InschriftenDialog.h
    public:
    CString m_stext; //Editfeld
    CButton m_sladen;//Datei öffnen
    CButton m_snummer;//InNummmerDialog aktivieren
    CButton m_sformat;//InFormatDialog aktivieren
    afx_msg void OnLaden();
    // Instanzvariable
    int m_MsgDlg;
    afx_msg void OnNummer();
    afx_msg void OnBnClickedOk();
    afx_msg void OnFormat();
    };
    //Die Methode in Inschriften.cpp
    void ClInschriftenDialog::OnFormat()
    {
    ClInschriftenDialog InFormatDialog;
    InFormatDialog.DoModal();
    }
    [/C++]

    Beste Grüße



  • Habe 3 Dialoge, die Inschriftendialog(Hauptdialog), InformatDialog und InNummerDialog.
    In dem Hauptdialog lade Datei in ein Editfeld(m_stext) und habe 2 Buttons(Ausgabeformat und Inschriftennummer)
    Meine Idee ist:
    Wenn ich in Hauptdialog auf Button Ausgabeformat klicke sollte das Dialog InFormatdialog geöffnet werden, das ich da weitere Aufgaben erledigen kann.

    //Die Dateien in InschriftenDialog.h 
    public: 
    CString m_stext; //Editfeld 
    CButton m_sladen;//Datei öffnen 
    CButton m_snummer;//InNummmerDialog aktivieren 
    CButton m_sformat;//InFormatDialog aktivieren 
    afx_msg void OnLaden(); 
    // Instanzvariable 
    int m_MsgDlg; 
    afx_msg void OnNummer(); 
    afx_msg void OnBnClickedOk(); 
    afx_msg void OnFormat(); 
    }; 
    //Die Methode in Inschriften.cpp 
    void ClInschriftenDialog::OnFormat() 
    { 
    ClInschriftenDialog InFormatDialog; 
    InFormatDialog.DoModal(); 
    }
    

    Beste Grüße



  • void ClInschriftenDialog::OnFormat() 
    { 
    ClInschriftenDialog InFormatDialog; //sollte hier nicht CInformatDialog stehen??=
    InFormatDialog.DoModal(); 
    }
    

    Hier versuchst du aber, in der Funktion OnFormat() der Klasse ClInschriftenDialog einen Dialog der selben Klasse zu öffnen?!
    Ändere mal den Typen des Objekts in CInformatDialog (oder wie die Klasse genau heißt). 😉


Anmelden zum Antworten