SetWindowLong(Edit.Handle, GWL_STYLE, GetWindowLong(Edit.Handle, GWL_STYLE) or ES_NUMBER);
Damit kann man sich die OnKeyPress-Überprüfung sparen. Übrigens scheint es zumindest ab Vista so, als ob der Hinweis
Zitat:
Note that, even with this set, it is still possible to paste non-digits into the edit control.
nicht mehr gilt (ich schaffe es zumindest nicht, per C&P da irgendwelchen Text einzufügen). Trotzdem muss die Prüfung im OnExit zusätzlich erfolgen (Leerstring ist ja immer noch möglich).