unit LabZahlEdit;
interface
uses Classes, LabEdit;
type TZahlart = (Ganzzahl, posGanzzahl, Gleitkommazahl, posGleitkommazahl);
Type TLabZahlEdit =
class(TLabEdit)
private
FZahlart: TZahlart;
protected
procedure FEdKeyDown(Sender: TObject;
var Key: Word; Shift: TShiftState);
override;
published
property Zahlart: TZahlart
read FZahlart
write FZahlart;
public
constructor create(AOwner: TComponent);
override;
end;
implementation
constructor TLabZahlEdit.Create;
begin
inherited create(AOwner);
// default-Wert setzen:
FZahlart := Gleitkommazahl;
end;
procedure TLabZahlEdit.FEdKeyDown(Sender: TObject;
var Key: Word; Shift: TShiftState);
begin
case FZahlart
of
Ganzzahl:
if key
in [0..7,9..12,14..26,28..44,46..47,58..255]
then key := 0;
posGanzzahl:
if key
in [0..7,9..12,14..26,28..47,58..255]
then key := 0;
Gleitkommazahl:
if key
in [0..7,9..12,14..26,28..43,46..47,58..255]
then key := 0;
posGleitkommazahl:
if key
in [0..7,9..12,14..26,28..43,45..47,58..255]
then key := 0;
end;
inherited FEdKeyDown(Sender, key, Shift);
end;