überprüfen des editfeldes nach eingabe
-
hallo
ich hab ein editfeld und da können zahlen eingegeben werden (1-30).
nun will ich nach der eingabe die werte sofort überprüfen und nicht erst nach betätigen des OK-buttons,falls werte außerhalb dieses bereiches liegen.
gibt es da irgendwie ein funktion dafür?
mfg
fevernova
-
Das hat wohl mit Standard C++ wenig zu tun. Welchen Compiler und optional welches OS verwendest du?
-
ich schreib mit mfc ein programm.hier verwende ich dann editboxen(-felder).
och hoffe das reicht.
mfg
-
Hallo,
also da gibt's 2 Möglichkeiten.1.)
Du kannst mit dem Class-Wizard eine int-Variable mit der Editbox verbinden.
Sobald Du das gemacht hast, kannst Du auch einen minimalen und maximalen Wert für die Variable eingeben. MFC gibt dann eigenständig eine MessageBox aus, wenn der Wert die Grenzen überschreitet.2.)
Du legst für die Nachricht EN_CHANGE der Editbox eine Methode (mit Class Wizard, wenn Du willst) an und überprüfst in dieser dann den eingegebenen Wert.
-
danke Cosmixx
die erste möglichkeit hab ich schon ausprobiert,aber die gibt erst die message box aus,wenn ich den OK-button drück-dies ist leider zu spät.ich brauch eine überprüfung mit fenster sofort nach der eingabe.
dazu kommt noch,dass das ein konfigurationsprogramm ist und ich die ganze abarbeitung in einer klasse mache-anders gehts leider nicht.
mfg
-
Und die zweite Möglichkeit?
-
Dann bleibt dir noch EN_CHANGE ..

-
Genau,
die zweite funzt auf jeden Fall.

Try it
-
sorry aber mit solchen message boxes hab ich noch nicht gearbeitet und aus der msdn werd ich auch nicht schlau.
MSDN:
EN_CHANGE
idEditCtrl = (int) LOWORD(wParam); // identifier of edit control
hwndEditCtrl = (HWND) lParam; // handle of edit controlbitte um hilfe-id hab ich bereit, aber der rest?
mfg
-
Das hat überhaupt nichts mit Messageboxen zu tuen EN_Change ist die Nachricht die die MessageBox verschickt wen der Inhalt geändert wird.
1.Wähle deine MessageBox im Klassenassistenten aus
2.Wähle die Nachricht EN_CHANGE aus und drücke Funktion hinzufügen
3.Drücke auf Code bearbeiten,und dort hin schreibst du dann deine Überprüfung
-
dankeschön
und bis später
mgf
fevernova