Problem mit EDIT-Feld



  • Hallo,

    hab da einen "witzigen" bug in einem Programm:
    ich hab ein text-feld in dem ich eine zahl eingeben kann. diese wird dann verarbeitet.
    jetzt schlägt die macht der gewohnheit zu: ich gebe die zahl ein und drücke ENTER und dann killt sich das ganze programm, spricht das ganze bedienfenster geht zu!
    was mach ich denn da falsch????
    danke!!!!

    martin



  • Hallo,

    kann es sein, das durch Dein Enter die Funktion des Standardtbutton ausgelöst wurde?

    So kann ich mir den bug erklären.

    Standardmaäßig ist der Button mit IDCANCEL der Standardbutton. Kann man in den Eigenschaften der Steuerelemnte angeben.

    Oli_1977



  • Das Programm killt sich nicht, es sendet bei "Enter" eine Message, die dazu führt dass OnOK() aufgerufen wird und der Dialog mit der Response "IDOK" beendet wird.

    Willst Du das verhindern, musst Du OnOK() überschreiben. z.B. so:

    void CDialogDlg::OnOK(){
    
        //CDialog::OnOK();
    
    }
    

    Du könntest dort natürlich auch UpdateData(true) aufrufen und somit aus deinem "Bug" eine sinnvolle Steuerung machen.


Anmelden zum Antworten