Fehlerbehandlung: falsche Eingabe in Editbox



  • hi leute, ich bin auf der suche nach einer möglichkeit, falsche eingaben in meiner editbox abzufangen und dann eine messagebox aufzumachen. meine erlaubten eingaben sind z.b. integerwerte von 0-255. wie mache ich eine solche fehlerbehandlung am effizientesten, dass bei falschen eingaben (also auch wenn jemand z.b. buchstaben eingibt) die messagebox aufpoppt...?

    case IDC_EDIT7:		//Light Amb R
    			iChkNumbSett7 = GetDlgItemInt(hWnd, IDC_EDIT7, NULL, TRUE); 
            return (0);
    

    bei okbutton:

    gl.UpdtLightPos(float(iChkNumbSett1),float(iChkNumbSett2),float(iChkNumbSett3));
    

    vielen dank

    PS: kennt jemand ein gutes tutorial zur erstellung einer statusbar?



  • du könntest zB den Style ES_NUMBER für das editfeld setzen somit kann der benutzer nichts anderes eingeben als Zahlenwerte.

    anderenfals wenn du es selbst machen willst würde ich eine Callback nachricht f. das editfeld subclassen und mit WM_CHAR die eingabe im editfeld abfangen. wenn es dann keine zahl ist schickst du return 0 zurück.
    ist aber angesicht der einfachheit von dem oben besagten Editstyle sehr kompliziert.



  • ja danke, die möglichkeit das über den style zu machen ist wohl die beste. allerdings erzeuge ich die editbox nicht via CreateWindow... hast du eine ahnung, wie ich sonst der bix einen bestimmten style zuweise und vor allem wo im code am besten? schätze mal beim initdialog...

    greetz & thnx


Anmelden zum Antworten