Wie kann ich in einem Dialog den Text im Editfeld aus einem anderem Dialog bekommen?



  • HUhu.

    Hab hier 2 Dialoge. Wenn ich ein den einen was eintippe, dies aber noch nicht speicher und in den zweiten Dialog gehe, da dann die Details für den Artikel eintippe und dann auf speichern klicke, will ich das, was in dem Editfenster aus dem Dialog davor steht, auch mit abspeichern.

    Kann mir jemand sagen, wie ich das mache?

    Denkansätze von mir:

    Pruefplaene Handle;
    m_strKundenname = Handle.GetDlgItem(IDC_Edit1);
    


  • also ich würde in dem speichern dialog ne Member anlegen und dann aus dem anderen Dialog beim wechseln zum speicher Dialog die member zuweisen.
    Also m_test sei deine member (public!) des Speichern dialogs, und wenn du machst

    CDialog2Dlg dlg2;
    dlg2.m_test = member-des-edits;
    dlg2.DoModal();
    


  • jaja, das ist ja kein problem

    das problem dabei ist, dass in dem anderem noch kein UpdateData(TRUE); ausgeführt wurde.

    somit ist die Var noch net mit dem richtigen wert belegt



  • welches ist das andere? der nichtspeichern? Und wieso machst du dann nicht einfach davor noch ein UpadteData rein? Wenn du kein Update machst, wie willst du dann an die Var kommen?? 😕



  • ja, das Problem ist, dass Registerkarten in den Dialogfeldern sind. ich hatte das erst so probiert, dass er das UpdateData macht, wenn er die registerkarte wechselt, aber das ging auch net

    klar könnte ich vorher auf speichern klicken, aber genau so soll das ja nicht sein.

    der user soll erst alles eingeben können und dann auf speichern klicken

    ich meine arber, dass das irgendwie geht, dass man, auch wenn die VAR net gespeichert ist, die aus dem editfenster lesen kann

    GetDlgItemText(IDC_EDIT1,text,255);
    

    oder irgendwie so



  • Hast du eine Variable von dem Dialog, in dem das Edit ist?

    Dann sollte das, was du da eben geschrieben hast funktionieren.
    Oder auch

    dlg.GetDlgItem(IDC_DAS_EDIT)->GetWindowText(strText);
    

Anmelden zum Antworten