程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> Delphi標准控件-編輯框(Edit)

Delphi標准控件-編輯框(Edit)

編輯:Delphi

編輯框也是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按鈕被激活,並獲得輸入焦點。程序界面如下圖所示:

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved