CString übergeben ...



  • Hallo,

    ich hab folgendes Problem:

    Ich hab 2 Dialogfelder. In das erste gebe ich 4 Namen ein (Eingabefeld) drück auf einen Button und dann öffnet sich das zweite Dialogfeld. In dem 2ten Dialogfeld sind auch 4 Eingabefelder in denen dann die Namen vom ersten Dialogfeld stehen sollen. Wie geht das?

    Danke und Gruß
    Marcel



  • In Dialog2 Member anlegen die diese Strings übernehmen,

    die Werte setzten (vor dem Anzeigen des Dialogs)

    Beim Anzeigen des 2. Dialog die Member auslesen und in die Editfelder schreiben.

    MyDialgo2 dlg;
    
    dlg.setName(NameFrom1stDialog);
    
    ....
    
    dlg.DoModal();
    


  • Hi,

    dann gäbs (vollständigerhalber) noch folgende Möglichkeiten:
    - globale variablen (vergiss das)
    - CString Variable im 2. Dialog public (wieder pfui)
    - DoModal überschreiben (wird bei mehreren Variablen unübersichtlich und entspricht nicht ganz dem gedanken der OOP)

    => nimm Knuddlbaer Vorschlag

    Grüße Rapha



  • Also erstmal vielen Dank für die Hilfe.

    Aber: 😉

    Irgendwie funktioniert das nicht. SetName kennt er nicht.

    Gruß
    Marcel



  • Die musst Du auch erst mal Implementieren.....



  • setname() sollst du auch in deiner abgeleiteten dialog klasse erstellen!
    nicht nur den code kopieren. überprüf doch auch was die anderen posten und schlags in der msdn nach, falls du irgendwelche befehle nicht kennst.

    also nochmal:
    leite deine dialogklasse ab.
    erstelle dort eine methode die als parameter einen string übernimmt. z.b. setname(cstring).
    und bevor du jetzt mit domodal() dein dialog anzeigen lässt, übergibst du mit hilfe setname() einen string.


Anmelden zum Antworten