Datenaustausch zwischen Dialogfeldern



  • Hi Leute!

    Bin noch relativ neu in der C++/MFC Welt. Habe auch schon diverse How to´s usw. gelesen. Leider hab ich bis jetzt nicht herausbekommen wie ich Daten zwischen zwei Dialogfeldern austausche.

    Habe mit VC6 eine dialogfeldbasierende Anwendung erstellt (Dialogfeld 1). Jetzt habe ich ein weiteres Dialogfeld (Dialogfeld 2) erstellt. Wenn ich jetzt auf Dialogfeld 1 den Button Texteingabe drücke geht Dialogfeld 2 auf. Beim Dialogfeld 2 kann ich dann einen Text eingeben (CString). Dieser Text soll nach dem drücken des OK Buttons in Dialogfeld 1 angezeigt werden. (Nach dem drücken von OK wird Dialogfeld 2 geschlossen) Wie kann ich jetzt den CString von Dialogfeld 2 ins Dialogfeld 1 übernehmen?
    Und wie geht das in die umgekehrte Richtung wenn ich Daten von Dialogfeld 1 ins Dialogfeld 2 übernehmen will?

    Danke für eure Hilfe....



  • Die einfache "Schnell mach fix" Lösung:
    Erstell für das Edit eine Wertevariable, lass sie public (nehmen wir an, sie heißt m_strEdit).

    CDialog2 dlg;
    dlg.m_strEdit = "Dieses ist die Vorbelegung";
    dlg.DoModal();
    AfxMessageBox(dlg.m_strEdit);
    

    Diese Lösung kannst du nach Belieben und Kenntnisstand ausbauen. 🙂



  • Danke....



  • Ich glaube das funktioniert auch.

    if (dialog2.DoModal() == IDOK)
    {
        dialog1str = dialog2.dialog2str;
    }
    

    Musst aber vorher glaube ich dialog2.UpdateData(FALSE ode TRUE) machen.



  • Paul_C. schrieb:

    Musst aber vorher glaube ich dialog2.UpdateData(FALSE ode TRUE) machen.

    Das macht CDialog::OnOK schon für dich. 😉
    Und wenn, dann ist es UpdateData(TRUE). 🙂



  • Ok, danke. 😉


Anmelden zum Antworten