eMVC++ Inhalt eines Eingabe Feldes prüfen

HansJ

Mitglied
Hallo,
ich habe ein Text Eingabefeld in dem Zahlen eingegeben werden können.
Nun möchte ich die Eingabe überprüfen ob ein Komma enthalten ist und wie viele Stellen nach dem Komma eingegeben wurden. Danach möchte ich die Nachkomma Stellen, wenn nötig, mit Nullen auffüllen (anhängen), in diesem Fall sollen 3 Nachkomma Stellen vorhanden sein.

Hans
 
Wenn das Editfeld den Stil ES_NUMBER hat, dann kannst du gar kein Komma eingeben, dann nimmt es nur Ziffern (0-9) an.
Du mußt also selber in der EN_CHANGE - Funktion (Nachrichtenbehandlung oder OnChange()) den eingegebenen String parsen und entsprechend formatieren.
 
Hallo,
dieses Feld ist Textfeld so das auch ein Komma eingegben werden kann.
Wie kann ich die Variable, die ich ausgelesen habe, überprüfen ob ein Komma vorhanden ist und ob 3 Stellen nach dem Komma vorhanden sind und wie kann ich die fehlenden Nullen anhängen ?

Hans
 
Wenn Du schon während er Eingabe das Format überprüfen willst, mußt Du die EN_CHANGE - Nachricht abfangen, wenn du erst nach der Eingabe beim Verlassen des Editfenster prüfen willst, fängst Du die EN_KILLFOCUS Nachricht ab.
Dann holst du mit einer WM_GETTEXT - Nachricht an das Editfenster den aktuellen Inhalt in einen String (char[] oder std::string), suchst das Komma, zählst die Stellen danach und hängst ggf Nullen an. Gleichzeitig kannst Du noch prüfen, ob wirklich nur Ziffern und das Komma eingegeben wurde.
 
Zurück