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)的更多相关文章

  1. 通过编写串口助手工具学习MFC过程——(六)添加Edit编辑框控件

    通过编写串口助手工具学习MFC过程 因为以前也做过几次MFC的编程,每次都是项目完成时,MFC基本操作清楚了,但是过好长时间不再接触MFC的项目,再次做MFC的项目时,又要从头开始熟悉.这次通过做一个 ...

  2. MFC编程入门之二十五(常用控件:组合框控件ComboBox)

    上一节讲了列表框控件ListBox的使用,本节主要讲解组合框控件Combo Box.组合框同样相当常见,例如,在Windows系统的控制面板上设置语言或位置时,有很多选项,用来进行选择的控件就是组合框 ...

  3. MFC编程入门之二十四(常用控件:列表框控件ListBox)

    前面两节讲了比较常用的按钮控件,并通过按钮控件实例说明了具体用法.本文要讲的是列表框控件(ListBox)及其使用实例. 列表框控件简介 列表框给出了一个选项清单,允许用户从中进行单项或多项选择,被选 ...

  4. 【转】VS2010/MFC编程入门之二十五(常用控件:组合框控件Combo Box)

    原文网址:http://www.jizhuomi.com/software/189.html 上一节鸡啄米讲了列表框控件ListBox的使用,本节主要讲解组合框控件Combo Box.组合框同样相当常 ...

  5. LabVIEW(十六):多列列表框控件

    1.多列列表框控件:前面板右键>列表.表格和树>多列列表框2.默认情况下只显示列首,可设置显示行首:前面板选中多列列表框右键>显示>行首3.LabVIEW中提供42种自带的图标 ...

  6. VS2010/MFC编程入门之二十五(常用控件:组合框控件Combo Box)

    上一节鸡啄米讲了列表框控件ListBox的使用,本节主要讲解组合框控件Combo Box.组合框同样相当常见,例如,在Windows系统的控制面板上设置语言或位置时,有很多选项,用来进行选择的控件就是 ...

  7. VS2010/MFC编程入门之二十四(常用控件:列表框控件ListBox)

    前面两节讲了比较常用的按钮控件,并通过按钮控件实例说明了具体用法.本文要讲的是列表框控件(ListBox)及其使用实例. 列表框控件简介 列表框给出了一个选项清单,允许用户从中进行单项或多项选择,被选 ...

  8. 组合框控件 -- CComboBox

    组合框控件 -- CComboBox 组合框其实就是把一个编辑框和一个列表框组合到了一起,分为三种:简易(Simple)组合框.下拉式(Dropdown)组合框和下拉列表式(Drop List)组合框 ...

  9. Combo Box (组合框)控件的使用方法

    Combo Box (组合框)控件很简单,可以节省空间.从用户角度来看,这个控件是由一个文本输入控件和一个下拉菜单组成的.用户可以从一个预先定义的列表里选择一个选项,同时也可以直接在文本框里面输入文本 ...

随机推荐

  1. 【模板】概率dp

    有n个投资事件,和一个成功概率最低接受值rate.每个投资的价值是c[i],成功概率是p[i](浮点数). 在保证成功概率≥rate的情况下,使价值最大化. #include<bits/stdc ...

  2. C++的句柄类

    上一篇文件介绍了关于C++代理类的使用场景和实现方法,但是代理类存在一定的缺陷,就是每个代理类会创建一个新的对象,无法避免一些不必要的内存拷贝,本篇文章引入句柄类,在保持代理类多态性的同时,还可以避免 ...

  3. Linux的开山篇

    一.Linux的学习方向 1.2Linux运维工程师 1.2.2Linux嵌入式开发工程师 1.2.3在Linux下做各种程序开发    javaEE   大数据    Python  PHP  C/ ...

  4. 使用Cygwin在WIN系统下处理文本常用命令

    1.打开Cygwin,把需要处理的文本复制你的安装目录例如:D:\cygwin\home\Administrator 使用 ls命令查看根目录文件 2.现在我们就可以对1.txt文本进行操作, 3.我 ...

  5. Spring Boot2.0拦截器简单实现判断是否登录

    在进行项目开发的时候使用springboot框架用到拦截器时发现2.0以后原来的抽象类WebMvcConfigurerAdapter已经过时了,去官网查文档2.x版本要实现拦截器功能改为需要继承Web ...

  6. 如何改变memcached默认的缓存时间?

    我们在使用php的memcached的扩展来对memcached进行数据添加时,数据的有效时间有两种方式.如下图. 至于设置一个UNIX时间戳或      以秒为单位的整数(从当前算起的时间差)来说明 ...

  7. 使用C6748和C5509A对nRF24L01驱动进行数据传输

    1. 写在前面 今天下午做了一个C5509A和C6748两个DSP的数据传输,经由RF24L01设备传输,都是模拟SPI协议,对于两个DSP来说,无非是配GPIO引脚,写好时序和延时.C5509A的G ...

  8. sqli-labs 1-20实验记录

    1. less1 首先输入?id=1 查找是否有注入点. 输入单引号 回显报错 说明有注入漏洞 而且是数字型 输入 1’ or 1=1 order by 1 猜测列名# 这里发现#不能变成url编码 ...

  9. fopen,fwrite,fread使用

    fopen, fwrite, fread详解 1.头文件 #include <stdio.h> 2.fopen (1) 函数原型 FILE *fopen(char *filename, * ...

  10. 嵌入式框架Zorb Framework搭建二:环形缓冲区的实现

    我是卓波,我是一名嵌入式工程师,我万万没想到我会在这里跟大家吹牛皮. 嵌入式框架Zorb Framework搭建过程 嵌入式框架Zorb Framework搭建一:嵌入式环境搭建.调试输出和建立时间系 ...