给你EDIT得,关于combobox得,自己参照着写。 unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Button1: TButton; Edit1: TEdit; procedure Button1Click(Sender: TObject); procedure Edit1KeyPress(Sender: TObject; var Key: Char); private { Private declarations } public procedure MyKeypress(Sender: TObject; var Key: Char); end;var Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject); var ed : TEdit; begin ed := TEdit.Create(nil); ed.Parent := Form1; ed.Left := 100; ed.Top := 100; ed.Text := '12344'; ed.OnKeyPress := MyKeypress; end;procedure TForm1.MyKeypress(Sender: TObject; var Key: Char); begin if not (key in ['0'..'9']) and (key <> #8) then key := #0; end;procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); begin if not (key in ['0'..'9']) and (key <> #8) then key := #0; end;end.
上面得代码容易看糊涂,下面得比较清晰。 procedure TForm1.Button1Click(Sender: TObject); var ed : TEdit; begin ed := TEdit.Create(nil); ed.Parent := Form1; ed.Left := 100; ed.Top := 100; ed.Text := '12344'; ed.OnKeyPress := MyKeypress; end;procedure TForm1.MyKeypress(Sender: TObject; var Key: Char);//给动态生成得控件赋值事件,你可以看看TKeyPressEvent得定义。 begin if not (key in ['0'..'9']) and (key <> #8) then key := #0; end;
你可以在ComboBox或者Edit中的OnKeyPress中定义自己的过滤函数。
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;type
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
procedure Button1Click(Sender: TObject);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
public
procedure MyKeypress(Sender: TObject; var Key: Char);
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
var
ed : TEdit;
begin
ed := TEdit.Create(nil);
ed.Parent := Form1;
ed.Left := 100;
ed.Top := 100;
ed.Text := '12344';
ed.OnKeyPress := MyKeypress;
end;procedure TForm1.MyKeypress(Sender: TObject; var Key: Char);
begin
if not (key in ['0'..'9']) and (key <> #8) then
key := #0;
end;procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in ['0'..'9']) and (key <> #8) then
key := #0;
end;end.
procedure TForm1.Button1Click(Sender: TObject);
var
ed : TEdit;
begin
ed := TEdit.Create(nil);
ed.Parent := Form1;
ed.Left := 100;
ed.Top := 100;
ed.Text := '12344';
ed.OnKeyPress := MyKeypress;
end;procedure TForm1.MyKeypress(Sender: TObject; var Key: Char);//给动态生成得控件赋值事件,你可以看看TKeyPressEvent得定义。
begin
if not (key in ['0'..'9']) and (key <> #8) then
key := #0;
end;