Datenaustausch



  • Hallo alle zusammen!
    Folgendes Problem. Ich habe 2 Dialogs. Im zweiten Fenster gebe ich die Daten eine und möchte diese im CEdit des ersten Fensters anzeigen lassen. Ich habe das hier ausprobiert, funktioniert jedoch nicht.

    void CDialog2Dlg::OnOK() 
    {
        char szmsg[255];
    
        sprintf(szmsg,"Width = %i, %i",atoi(m_str1),atoi(m_str2));
    
        CDialog1Dlg Dlg;
        Dlg.m_strEdit1 = szmsg;
        CDialog::OnOK();
    }
    

    [ Dieser Beitrag wurde am 14.05.2003 um 01:00 Uhr von Rainy editiert. ]



  • Kommt darauf an wie du den 2ten Dialog aufrufst.

    Im 2ten Dialog legst du eine Memmbervar. des Eingabecontrols an.

    Wenn du eingegeben hast dann noch

    UpdateData(false);
    

    aufrufen um den Datenaustausch zw. Control und seiner Member zu realisieren.

    Im ersten rufst du ja den 2. Dialog mit
    DoModal()
    auf

    CDein2terDlG  2terdlg;
    2terdlg.DoModal();
    

    Hier kehrt die Funktion zurück und nun kannst die die Variable auslesen.

    CDein2terDlG  2terdlg;
    2terdlg.DoModal();
    2terdlg.deinecontrolvardes2tendlg;  // Da steht es drin
    


  • Hi Tom,
    danke für die Hilfe. Es hat funktioniert jedoch mit UpdateData(TRUE); UpdateData(FALSE) Funktion überträgt die Daten der Variablen in die Controls, oder irre ich mich?



  • Klar verwechsle die beiden immer



  • Hallo,
    wieder ein Problem: jetzt habe ich ein CTabCtrl Control und für jeden Tab habe ich einen Dialog erstellt. Wenn ich zwischen Tabs wechsele, sind die Dialogs nicht mehr modal. Wie kann ich den Datenaustasch zwischen dem Control und der Membervariable aufrufen? Ich habe es so versucht: CMeinDlg Dlg;Dlg.UpdateData(); allerdings stürzt das Programm einfach ab



  • versuch mal so ist viel besser:

    SetDlgItemText
    und
    GetDlgItemText

    im Konstruktor initialisieren und dann Variablen in jeder Klasse dafür adden, und eine eigene Update Funktion schreiben. So weisst du dasses sofort passiert, und nicht erst irgendwo verschwindet.

    Die Parameter wirste selbst finden ^^


Anmelden zum Antworten