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;