向窗体上添加一个TEdit组件,用于显示用户输入的字符。添加组件后的窗体如图8-34所示。
TEdit组件有一个OnKeyPress事件,在该事件中有一个Key参数,其中存储了用户当前输入的字符,如果设置这个参数为#0,就可以屏蔽用户的输入,从而实现自定义输入字符的功能,为此添加响应代码如下:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not (Key in ['0'..'9', '.']) then
begin
Key:=#0 ;
end;
end;
程序会判断用户输入的字符,如果范围不在从0到9的数字和小数点两者之中,那么就设置Key参数为#0,从而屏蔽用户的输入;反之正常显示用户的输入。
程序代码如下:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in ['0'..'9', '.']) then
begin
key:=#0 ;
end;
end;
end.
保存文件,然后按F9键运行程序,程序运行结果如图8-35所示,在TEdit组件中只能够接受数字和小数点。
利用与本实例相同的方法可以任意控制TEdit组件的输入字符。