Fehleingaben in editbox abfangen



  • Hallo!
    Ich möchte Eingaben <=0 mit einer Fehlermeldung abfangen und habe dafür folgenden Code:

    void CProgDlg::OnChangeLeistung()
    {
    GetDlgItemText ( IDC_E_LEISTUNG, m_strELeistung ) ;
    m_dELeistung = atof ( m_strELeistung ) ;
    m_dELeistung = double ( int ( 10.0 * m_dELeistung ) ) / 10.0 ;

    if ( m_dLeistung <= 0.0 )
    {
    MessageBox ( "Die Leistung muß größer als 0.0 sein" , "EINGABEFEHLER" ) ;
    CWnd *pF = GetDlgItem ( IDC_LEISTUNG ) ;
    pF -> SetFocus () ;
    return ;
    }
    }

    Nun wartet das Programm aber nicht bis die Eingabe abgeschlossen ist, sondern überprüft die Eingabe nach jedem Tastendruck.
    Weiss jemand Hilfe?
    thx



  • Sorry, hab meinen Fehler selbst gefunden:
    Ich muss EN_KILLFOCUS anstatt EN_CHANGE nehmen, dann funzt es.


Anmelden zum Antworten