5,388
社区成员
发帖
与我相关
我的任务
分享
procedure TForm1.edt1KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in ['0'..'9']) then
begin
Key := #0;
end;
end;
type
TEdit = class(StdCtrls.TEdit)
private
procedure WMChar(var Message: TWMChar); message WM_CHAR;
end;
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
{ TEdit }
procedure TEdit.WMChar(var Message: TWMChar);
begin
if (Message.CharCode >= 48) and (Message.CharCode <= 57) then
inherited;
end;
在OnCreate里写
var
i: integer;
begin
for i := 0 to ComponentCount - 1 do
if Components[i] is TEdit then
TEdit(Components[i]).OnKeyPress := myKeyPress;
//......
end;
//记得在类中声明
procedure TForm1.myKeyPress(Sender: TObject; var Key: Char);
begin
if not (key in ['0'..'9']) then
begin
Key := #0;
end;
end;