delphi 输入框edit输入限制

在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;

版权声明:本文为YW_Mirage原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。