Wie wir schon beim Zeichnen gesehen haben, bekommt unser Control seine Nachrichten. Diese fangen wir entweder ab oder leiten Sie mit
Result := CallWindowProc(OldWndProc, hEdit, uMsg, wParam, lParam);
an das System weiter und lassen den Standardcode ausführen. In diesem Kapitel soll nun demonstriert werden, wie man nur bestimmte Zeichen zulässt. Um das zu erreichen, bearbeiten wir die Nachricht "WM_CHAR". Das PSDK sagt (frei übersetzt) dazu:
Wir machen also nichts anderes, als alle von uns gewünschten Zeichen an die Standard-Fensterprozedur weiterzuleiten. Nach dem Motto: "Soll sich doch Windows darum kümmern, wie die Zeichen ins Editfeld kommen." Alle anderen Zeichen fallen unter den Tisch, da wir sie überhaupt nicht berücksichtigen:
WM_CHAR:
case Byte(wParam) of
Byte('0')..Byte('9'),
Byte(','),
VK_DELETE,
VK_BACK:
CallWindowProc(OldWndProc, hEdit, uMsg, wParam, lParam);
end;
Es ist also recht einfach.