• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Delphi 之 编辑框控件(TEdit)

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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;

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Matlab:线性与非线性规划发布时间:2022-07-18
下一篇:
用蒙特卡罗方法解非线性规划MATLAB发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap