当前位置:编程问答 > Delphi >

Delphi标准控件-编辑框(Edit)

编辑框也是Windows程序中常用的组件,它主要用于输入单行文字。下面解释编辑框一些常用属性。

Edit常用的几个事件为:OnChange、OnKeyPress、OnEnter事件,下面对它们做简单的介绍:

上边介绍的三个编辑框事件非常有用,在Delphi编程中经常用到。使用这三个事件,可以实现一些很有用的功能:

属性 说明 PasswordChar 这个属性在一些编辑框组件如TMaskEdit、TDBEdit中都有。缺省时该属性为#0,即没有掩码。用户可以自己设置一个掩码,如‘*’,则用户在编辑框中输入的字符都将以‘*’字符显示,而隐藏真实的字符。 AutoSize 确定编辑框是否随字体变化而自动变动尺寸,缺省为True Text 该属性用于显示和保存编辑框中的字符串 MaxLength 确定编辑框最多可以输入的字符数,缺省时为0,表示可以输入任意多的字符 ReadOnly 确定程序运行时,用户是否可以改变编辑框中的内容。若为True,表示不可以编辑。 AutoSelect 确定当编辑框获得输入焦点时,编辑框中的文字是否自动被选中 事件 说明 OnChange 当编辑框中的内容发生变化时,触发该事件,它是Edit中最常用,也是最有用的事件之一 OnKeyPress 当按下一个按键时,触发该事件 OnEnter 编辑框获得输入焦点时,触发该事件

1.使用OnEnter事件,可以在编辑框获得输入焦点时,给出提示或触发其它事件。下面的实例在编辑框Edit1获得输入焦点时给出一个提示信息,并使将Button1失效。

procedure TForm1.Edit1Enter(Sender: TObject);
   begin
   showmessage('请输入您的密码');
   Button1.Enabled:=False;
   end;

2.使用OnKeyPress事件,可以限制在编辑框中输入的字符的种类。下面的例子限制了编辑框Edit1中只能输入数字,而不能输入其它的字符。若按下非数字按键,将发出蜂鸣声。

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
   begin
   if not(key in['0'..'9',#8])then
    begin
     key:=#0;
     MessageBeep(-1);
    end;
   end;

在上边的例程中,Key为按下的字符,使用not方法来判断输入的字符是否为数字(0至9)或者是删除键#8(注意不要连删除键也屏蔽)。如果是非数字输入,使用语句“Key:=#0”将其屏蔽,#0为空,表示没有输入。

3.使用OnChange事件,可以在编辑框中的内容发生某种变化时,触发其它事件,如使按钮生效或失效,让输入焦点转移到某个控件上。下面的例程在编辑框Edit1中的内容为‘123456’时,使Button1生效,同时将输入焦点转移到Button1上。

procedure TForm1.Edit1Change(Sender: TObject);
   begin
    if Edit1.Text='123456' then
      begin
       button1.Enabled:=true;
       Form1.FocusControl(button1);
      end;
   end;

下面我们将使用Edit控件的这些特性编写一个简单的“身份验证”程序,程序中使用了两个Label、两个Edit和两个BitBtn控件。其中Edit1、Edit2的MaxLength属性值都为6,Edit2的PasswordChar为‘*’;另外Edit1限制了输入,只接收数字。

当用户在Edit1中输入6个数字后,输入焦点自动跳到Edit2中;当确认Edit1和Edit2中的学号和密码输入正确(学号为950755,密码为123456),Ok按钮被激活,并获得输入焦点。程序界面如下图所示:

Delphi标准控件-编辑框(Edit)


 

 

www.zzzyk.com,学习电脑知识的好地方  

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,