Delphi 之 編輯框控件(TEdit)
阿新 • • 發佈:2018-11-28
數字 不能 delphi icon readonly mes tex border 方法
TEdit 組件主要用於數據的輸入和顯示和編輯等操作。
AutoSelect
獲取組件焦點。該屬性只能在單行文本組件使用。值為True為選中。false則不選中。
BorderStyle
設置編輯框控件的外觀效果。當值為bsSingle,為一個單線邊框。為bsNone則無邊框
CanUndo
該屬性可以確定用戶修改文本後可以undo方法回退。
CharCase
設置編輯框控件文本的大小寫。
如圖所示
MaxLength
設置文本的最大長度,為0表示長度沒有限制。
PasswordChar
用來顯示字符通常用(*)符號來設置密碼
ReadOnly
設置只讀,不能修改組件的文本內容
SelStart
設置文本的起始位置,如果為0,則指向第一個文本。
SelLength
設置文本的最大長度
示例 選中指定長度的文本如圖所示
procedure TForm1.Button1Click(Sender: TObject); begin Edit3.SetFocus; //獲取焦點 Edit3.SelStart:=StrToInt(Edit1.text); //設置字符的起始位置 Edit3.SelLength:=StrToInt(Edit2.text);//設置字符的個數 end;
TEdit組件的事件
OnChange
編輯框組件被改變時觸發該事件
示例 驗證文本的合法性
procedure TForm1.Edit1Change(Sender: TObject); var str:string; begin str:=‘‘; str:=Edit1.Text; if Length(str)>0 then if not(str[Length(str)]in [‘0‘..‘9‘,#8]) then begin Application.MessageBox(‘請輸入數字(‘,‘提示‘,MB_OKCANCEL+MB_ICONINFORMATION);Edit1.Text:=LeftStr(Str,Length(Str)-1); end; Edit1.SelStart:=Length(Edit1.text); end;
OnEnter
組件接受輸入焦點時產生該事件,當窗口組件為激活狀態時,可使事件處理執行指定的處理。
示例 組件焦點的設置
procedure TForm1.Edit1Enter(Sender: TObject); begin if Sender is TEdit then (Sender as TEdit).Color := $00C8FFFF else if Sender is TComboBox then (Sender as TComboBox).Color := $00C8FFFF; end; procedure TForm1.Edit1Exit(Sender: TObject); begin if Sender is TEdit then (Sender as TEdit).Color := clWhite else if Sender is TComboBox then (Sender as TComboBox).Color := clWhite; end;
OnExit
當焦點離開時產生的事件
OnKeyPress
按下鍵盤上的按鍵時產生該事件
示例 限制輸入的數據
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); begin if not (Key in [‘a‘..‘z‘,‘A‘..‘Z‘,#8]) then begin Application.MessageBox(‘只能輸入英文字符!‘, ‘提示‘, MB_OKCANCEL + MB_ICONINFORMATION); Key := #0; end; end;
OnKeyDown
按下鍵盤上的按鍵觸發該事件,該事件的key是一個整數,是由鍵盤的虛擬鍵值而定。
示例 顯示鍵盤上對應按下的鍵值
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin Edit2.Text := IntToStr(Key); if Shift = [ssShift] then Edit1.Text := ‘Shift‘ else if Shift = [ssAlt] then Edit1.Text := ‘Alt‘ else if Shift = [ssCtrl] then Edit1.Text := ‘Ctrl‘ else Edit1.Text := ‘‘; end;
Delphi 之 編輯框控件(TEdit)