edit

(1)改造Edit只允许输入数字
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  if not (key in ['0'..'9',#8]) then
  begin
    showmessage('输入数字');
    key:=#0;
  end;
end;
(2)在程序中动态创建Edit

​ 如果想要在窗体上动态生成一个Edit,程序代码如下:

procedure TForm1.Button1Click(Sender: TObject);
var
	Ed:TEdit;
begin
	ed:=TEdit.Create(Form1);
	ed.Parent:=Form1;
	ed.Left:=10;
	ed.Top:=10;
end;

​ 如果要在Form上的某个控件(比如Panel控件)上生成Edit,程序代码如下:

procedure TForm1.Button2Click(Sender: TObject);
var
	Ed:TEdit;
begin
	ed:=TEdit.Create(Panel1);
	ed.Parent:=Panel1;
	ed.Left:=10;
	ed.Top:=10;
end;
(3)在Edit中按回车键跳到下一个控件
//首先为Edit控件的Enter事件写一个统一的处理函数ProEnter
procedure TForm1.ProEnter(Sender: TObject; var Key: Char);
begin
  if Key = #13 then
  begin
    Key := #0;
    SelectNext(ActiveControl, True, True);
  end;
end;

//处理函数ProEnter写好后,直接加入Edit1与Edit2的KeyPress事件的响应函数中
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
   ProEnter(Sender,Key);
end;
posted @ 2023-02-15 16:12  德琪  阅读(72)  评论(0编辑  收藏  举报