CEdit mit eigenem Eingabeformat



  • Hallo!

    Ich möchte ein Edit haben, in dem man ein bestimmtes Eingabeformat einhalten muss.
    Es handelt sich um eine IK-Nummer, die so aussieht: 999 999 999
    Ich möchte das nicht auf drei Eingabefelder aufteilen, da das die Benutzer verwirren würde und so wie ich es momentan habe (999999999) kann es auch nicht bleiben.

    Wie baut man also so etwas wie das Eingabefeld für IP Adressen nach?

    Gibt es bei Codeproject eine Anleitung? Oder vielleicht sogar auf Deutsch? Ich habe das noch nicht gemacht (für Controls) und traue mich da so völlig unvorbereitet nicht dran.

    Danke 🙂



  • Hallo,

    ja, mit Codeproject liegst du sicher nicht schlecht, aber ganz gute Beispiele für solche Controls gibt es auch hier

    http://www.codeguru.com/Cpp/controls/editctrl/

    z.B. "numeric edit control" dort, ich denke, dort kannst du die Technik ganz gut ablesen, die nötig ist.

    MfG



  • Vielleicht auch eine Möglichkeit:
    - in OnChange das Editfeld auslesen
    - die Länge vom Inhalt bestimmen
    - wenn GetLength() gleich 4 und 4. Stelle kein Leerzeichen (XXXX) ein Leerzeichen einfügen und zurückschreiben (XXX 😵
    - analog: wenn GetLength() gleich 8 und 8. Stelle kein Leerzeichen (XXX XXXX) ein Leerzeichen einfügen und zurückschreiben (XXX XXX 😵

    Vielleicht ist es besser/schlechter nicht auf "gleich 4" und "gleich 8" die Länge zu überprüfen, sondern auf "grösser 3" und "grösser 7" -> mal ausprobieren, was besser ist, auch auf das Verhalten, wenn man den Inhalt Zeichen für Zeichen löscht oder etwas längeres hinein kopiert oder so.


Anmelden zum Antworten