Win32 Editfeld Komma bei Werten?
-
Hallo Leute,ich hab gerade ein Problem,da ich einen Wert auslesen will(aus einer Editbox) und es auch vorkommt ,dass man Kommazahlen eingeben muss.Da die Felder nur richtig funktionieren wenn man es mit Punkt eingibt,weiß ich nicht wie man beides akkzeptiert.
Ich benutze wstringstream zum convertieren von dem LPCWSTR(bei mir TCHAR) zu double.
Oder kann man prüfen ob das eingegebene ein Komma enthält,da das ja glaub ich nicht mit Zeichen geht,sondern nur mit Buchstaben/Zahlen.Danke
-
Mir ist gerade nicht klar, ob Punkt und Komma äquivalent sein sollen, wenn ja, kannst du doch einfach den Inhalt holen und die Zeichen ersetzen (GetWindowTextLength(), GetWindowText() + Schleife)
-
du könntest aber auch dein editfeld subklassen und in der nachrichtenschleife die tastatureingabe für das komma abfangen und gleich nen punkt draus machen.
-
@rT!f@Ct schrieb:
du könntest aber auch dein editfeld subklassen und in der nachrichtenschleife die tastatureingabe für das komma abfangen und gleich nen punkt draus machen.
Wenn er subclassed benötigt er doch nicht mehr einen Eingriff in die Nachrichtenschleife
Du meintest vermutlich die Windows-ProcAnsonten +1 für Subclassing...
-
mit der nachrichtenschleife meinte ich eigendlich die subclassprocedure des editfeldes...
sorry bin nur ein hobbyprogrammierer
-
Martin Richter schrieb:
Ansonten +1 für Subclassing...
+2 --> ist der beste Weg für diese Aufgabe, Punkt wird gelassen, Komma in Punkt umgesetzt.
Die WinApi kennt da keine andere Möglichkeit zu länderspezisfischen Einstellungen in Editfeldern. Nachteil: der Anwender gibt ein Komma ein, sieht aber einen Punkt.