在Edit的KeyPress事件里进行限制。
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not (Key in ['0'..'9']) then
Key := Chr(0); //代码大意是禁止输入字符
if not(key in['a'..'Z',#8])then
begin
Key := Chr(0);
end;
end;
下面这段大概意思是拒绝复制粘贴
procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Shift =[ssCtrl] then
begin
if (Key=ord('C') ) or (Key=Ord('V')) or (Key=Ord('X')) then
PressCtrl:=True;
end;
end;
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if PressCtrl then
begin
Key:=#0;
PressCtrl:=False;
end;