现在的位置: 首页 > 综合 > 正文

编辑框(Edit)

2012年11月29日 ⁄ 综合 ⁄ 共 2942字 ⁄ 字号 评论关闭
编辑框也是Windows程序中常用的组件,它主要用于输入单行文字。下面解释编辑框一些常用属性。

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

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

事件
说明
OnChange 当编辑框中的内容发生变化时,触发该事件,它是Edit中最常用,也是最有用的事件之一
OnKeyPress 当按下一个按键时,触发该事件
OnEnter 编辑框获得输入焦点时,触发该事件

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

  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按钮被激活,并获得输入焦点。程序界面如下图所示:

程序界面

  

抱歉!评论已关闭.