Hallo davar,
in deinem Code versuchst du dem Edit-Control eine Ereignis-Behandlungsroutine als "normale" Methode einzupflanzen. Da das Control aber nichts über die Existenz dieser neuen Routine weiß, wird es sie nicht aufrufen. Du mußt die Methode
KeyPress des Original-Edits überschreiben:
Delphi-Quellcode:
type
TZahlenEdit = class (TEdit)
protected
procedure KeyPress (var Key: Char);
override;
end;
procedure TZahlenEdit.KeyPress (var Key: Char);
begin
if (not (key in [#8, #9, #44, #48 .. #57])) then
key := #0;
inherited;
end;
Gruß Hawkeye