Delphi 之 编辑框控件(TEdit)
2024-10-19 18:30:02
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;
最新文章
- 一、javase学习:数据库操作练习
- 为什么学习Ruby On Rails:
- Linux和Windows下查看、设置环境变量的比较
- vs2010设置 ";行号显示";
- 一点总结-关于debug比赛
- Oracle安装时先决条件检查失败的解决方案
- iOS用心学 UI基础之UIView
- ASP.NET MVC framework 学习
- kernel 于ioctl申请书
- 记关于 Lambda 表达式的基础写法
- OpenOfice将offic转为pdf并且在web显示
- web 高并发分析
- Go语言数组
- 20175303 2018-2019-2 《Java程序设计》第2周学习总结
- js 简单的进度条
- fetch使用的常见问题及其解决办法
- Docker ssh server
- LINUX系统一一常用命令
- Ik分词器没有使用---------elasticsearch-analysis-ik 5.6.3分词问题
- WEB接口测试之Jmeter接口测试自动化 (一)