ComboBox, ein völlig ganz anderes Problem. ???



  • Hi alle zusammen. 🙂 Bin noch eine Neuling. 🙂

    Ich habe einen Dialog erstellt, wo ich ein einziges Kombinationsfeld (Drop List) habe. Es beinhaltet 5 Zeichenketten.

    Nun zu meinem Problem:

    Anfangs funktioniert das Kombinationsfeld problemlos. Ich kann von den Zeichenketten auswählen, welches ich haben möchte. Erhalte auch den Index dazu (mit 'OnSelchange...'), welches im Moment ausgewählt wurde usw... Also, anfangs gar keine Probleme.

    Aber, bis auf die Stelle, wo ich in meinem Source - Code einen Funktions - Aufruf mache, nämlich dem "OnInitDialog()". Nach diesem Aufruf, verdoppelt sich der Inhalt des Kombinationsfeldes. Ich habe dann 10 Zeichenketten.

    Also, hatte ich vorher...

    String1
    String2
    String3
    String4
    String5

    ..bekomme ich nachher:

    String1
    String2
    String3
    String4
    String5
    String1
    String2
    String3
    String4
    String5

    Wenn ich nochmal danach die "OnInitDialog()" - Funktion aufrufe, erhalte ich dann 15 Zeichenketten. Nun, wieso ist das so? Ich möchte doch eigentlich immer, dass er die 5 Zeichenketten enthält und nicht jedesmal den vorherigen kopiert und nach hinten einfügt.

    Liegt das darin, dass ich die "OnInitDialog" - Funktion aufrufe??? Wenn ja, wieso, denn in der "OnInitDialog" - Funktion ist doch dafür kein Befehl???
    Ich habe auch keine "InsertString" oder "AddString" - Funktionen irgendwo im Source - Code geschrieben.

    Nun, ich möchte, dass er keinen weiteren String einfügt, sondern nur die 5 Strings behält, bis der Benutzer das Programm beendet hat.

    Ich würde mich freuen, wenn mir jemand behilflich sein könnte. Jemand vielleicht, der das Problem auch mal hatte und es beseitigt hat. Oder jemand, der eine Idee hat, wie ich dieses Problem beseitigen kann. Ich bedanke mich schon im voraus bei allen. Ciao und einen schönen Tag noch. 🙂



  • Ach, die Zeichenketten habe so eingefügt, dass ich auf das Kombinationsfeld mit der rechten Maustaste gedrückt habe, dann unter der Registerkarte "Daten" eingetragen habe.



  • Original erstellt von Mr-Baby:
    Liegt das darin, dass ich die "OnInitDialog" - Funktion aufrufe???

    Ja.

    Wenn ja, wieso, denn in der "OnInitDialog" - Funktion ist doch dafür kein Befehl???

    Da steht so ein kleines, unscheinbares "CDialog::OnInitDialog();". Da drin passiert so einiges.

    Wenn in OnInitDialog irgendwas passiert, was Du später noch einmal brauchst, dann lagere diesen Teil in eine andere Methode aus, und rufe die sowohl aus OnInitDialog als auch später auf.

    [ Dieser Beitrag wurde am 03.01.2003 um 16:45 Uhr von MFK editiert. ]



  • Ich bedanke mich bei dir MFK. 🙂

    Das mit deinem Tipp hat mir geholfen. Jetzt funktioniert auch mein Programm.


Anmelden zum Antworten