Editfeld und untergeordnetr Dlg verschwinden bei return



  • Genau daran wird es leiegen. Es liegt daran, das du einen Satndart Button nahmaen OK hast, un mit return bestäigt du den. Du kannst mit nem bissel code aber auch etwas anderes bei return machen. oder halt einfach beim Classwizard die Fnktion löschen oder halt wie schon von newkid_ gezeigt.



  • Stimmt, auf meinem Hauptdialog habe ich einen Ok-Button!
    Danke für den Tipp, werde es gleich mal probieren!



  • Hallo,

    ich habe euren Rat befolgt, jedoch hat sich dadurch mein Problem nicht gelöst. 😞

    Ich habe auch zusätzlich in den Eigenschaften vom Editfeld "Return möglich" aktiviert, jedoch klappt es dann auch nicht.

    Kann mir noch jemand einen Tipp geben woran es liegen könnte?

    Danke!!



  • schau mal nach was dein erster TAB stopp ist

    muesste

    Strg+D sein zum nachschauen

    dann lege den ersten tabstopp auf etwas was keinen code macht, z.b. staticfeld
    wenn deine dlg läuft ist praktisch dieses element aktiv und fängt dein return ab.

    ist jetzt mal eine notlösung, denn wenn man tab weiterdrückt und dann return, kann sich der dlg auch schliessen, aber es hilft ein wenig bis du die wahre ursache hast.

    das "return" handle auf dem editfeld, kannste wieder rausnehmen. du kannst ja auch versuchen das returnhandle auf dem editfeld zu lassen und in diesem code den button aufzurufen ( z.b. ADD button oder so ). weiss jetzt nicht ob das dir hilft



  • newkid_ schrieb:

    schau mal nach was dein erster TAB stopp ist

    muesste

    Strg+D sein zum nachschauen

    es erscheinen Zahlen an den Elementen. WEnn dass das ist, dann hab ich die Reihenfolge geändert und den Tabstopp auf ein Staticfeld gelegt. So wie du es empfohlen hast. Habe es dann auch getestet und wieder verschwindet mein untergeordneter Dialog.
    ich verzweifle langsam wirklich an diesen return... 🙄

    danke aber für deinen Tipp. Kann ich sonst noch irgendwie feststellen woran es liegt?

    Danke,



  • Kitty82 schrieb:

    Hallo,

    ich habe euren Rat befolgt, jedoch hat sich dadurch mein Problem nicht gelöst. 😞

    welchen rat hast du eigentlich befolgt?



  • das mit der OnOK(); habe sie eingefügt und erstmal leer gelassen. Immernoch der selbe Fehler. Habe dann etwas hineingeschrieben und mal einen Haltepunkt gesetzt, Programm ausgeführt, er ist nicht an den Haltepunkt angekommen. Sprich, dass er nicht in die OnOK() reinspringt...



  • hmm... hab die Ursache gefunden. Beim Editfeld muss man "Mehrzeilig" und "Return möglich" aktivieren. 🙄 Jetzt funktioniert es einwandfrei.
    Danke, dass ihr euch so bemüht habt mir zu helfen. 👍



  • das mit der OnOK(); habe sie eingefügt und erstmal leer gelassen. Immernoch der selbe Fehler. Habe dann etwas hineingeschrieben und mal einen Haltepunkt gesetzt, Programm ausgeführt, er ist nicht an den Haltepunkt angekommen. Sprich, dass er nicht in die OnOK() reinspringt...

    Lösch die Funktion nochmal (in der Klassenansicht rechte Maustaste/löschen) und dann geh in den Dialog und halte STRG+Doppelklick, und dann dort auf OK klicken. Dann erzeugt er für die eine neue OnOK() aber ordnet die auch richtig zu, darin müsste dann schon stehen:

    CDialog::OnOK();
    

    Das musst du nur rausschmeissen:

    // CDialog::OnOK();
    

    Dein Dialog ist von CDialog abgeleitet und wenn du keine richtige OnOK hast wird die von CDialog aufgerufen, hast du eine, darfst du das OnOK natürlich nicht aufgerufen lassen 🙄 ..



  • @Tow-B.de
    das was du meinst, hatte ich auch schon ausgetestet. Hatte aber trotzdem nicht funktioniert.

    in meinem Beitrag vor deinem habe ich ja schon geschrieben, dass ich mein Problem gelöst habe. Trotzdem danke für deinen Tipp.


Anmelden zum Antworten