Zitat von
Hansa:
Buchstaben sollen so oder so nicht zugelassen werden, wohl aber ein DecimalSeparator. Also geht man vom TIntEdit aus und ändert das ab :
Delphi-Quellcode:
TRealEdit = class(TIntEdit)
procedure TRealEdit.KeyPress(var Key: Char);
begin
inherited KeyPress(Key); // nur 0..9 werden zugelassen, sonst :
if (Key <> DecimalSeparator]) then // hier auch noch , oder . zulassen
key := #0;
end;
Jaja, das ist wohl etwas überhastet gewesen. Durch den Aufruf von inherited Keypress aus TIntEdit kriegst du Key = #0 zurück, wenn nicht eine Zahl gedrückt wurde. Das also auch beim Decimalseparator. Nach dem Aufruf ist Key also #0, und den Vergleich mit DecimalSeparator ist überflüssig