Für ein Formular hatte ich eine Lösung in der Art (Ereignisse allen Number-Edits zugeordnet):
Delphi-Quellcode:
procedure TestEditValue(AEdit : TEdit; ChangeColor : Boolean);
begin
try
StrToInt(AEdit.Text);
if ChangeColor then
AEdit.Color := clWindow
except
if ChangeColor then
AEdit.Color := $B0B0FF
else
AEdit.Text := '0';
end;
end;
procedure TForm1.Edit1Change(Sender: TObject);
begin
if Sender is TEdit then
TestEditValue(TEdit(Sender), True);
end;
procedure TForm1.Edit1Exit(Sender: TObject);
begin
if Sender is TEdit then
TestEditValue(TEdit(Sender), False);
end;