常用组件的使用- TMaskEdit单行文本编辑组件(定义掩码格式)
Posted fansizhe
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了常用组件的使用- TMaskEdit单行文本编辑组件(定义掩码格式)相关的知识,希望对你有一定的参考价值。
TMaskEdit组件使用更多的是需要对输入的文本指定格式。
属性:
1、EditMask属性:用于指定用户输入时必须遵循的掩码格式,如果用户输入的字符不符合格式要求,编辑框将不接受这个字符,知道符合为止。
示例:通过EditMask显示当前的日期时间
procedure TForm1.Button1Click(Sender: TObject); begin MaskEdit1.EditMask:= ‘!0000-09-09 90:00;1;_‘; MaskEdit1.Text:= DateTimeToStr(Now); end;
2、用TmaskEdit组件建立的编辑框内的文字既可以通过Text属性方问,也可以通过EditText 属性方问,不过稍有区别,Text 属性只包含用户实际输入的字符,
而EditText 是及格过格式化后得文字,如果用户没有输入完整,EditText 属性中将包含代表空白字符的符号。
3、PasswordChar属性:可以设置掩码的显示样式,通过该属性可以很好的实现密码框。
procedure TForm1.Button1Click(Sender: TObject); begin MaskEdit1.EditMask:= ‘123456789‘; MaskEdit1.PasswordChar:=‘*‘; end;
掩码格式理解:
掩码字符串EditMask属性分为3个部分,分别用分号隔开,形式是“XXXXX;X;X”
第一部分是掩码本身,也就是数据输入格式。 在这一部分用一些特殊的格式符来表示应输入的字符类型及格式.
第二部分只有0和1两种选择。EditText和Text 属性都可以用来读取用户输入的数据。当掩码字符串第2部分为1时,EditText和Text属性的值是相同的(值等于编辑框完整内容)。
当掩码字符串第2部分为0时,EditText为整个编辑框中显示的所有字符,而Text属性的值只包含用户输入的部分。
第三部分用于表示数据中的空位用哪个字符代替显示。
常用的特殊格式符有:
!去掉输入数据开头的空格符
> 让输入数据的字母都变成大写,直到遇上掩码字符<
< 让输入数据的字母都变成小写,直到遇上掩码字符>
<> 不限制输入数据字母是大写或小写
/ 若在输入格式内加入某个特殊字符,只要在特殊字符的前面加上此掩码就可以。(其实不加也可以)
L 允许输入英文字母,而且一定要输入
l 允许输入英文字母,不一定要输入
A 允许输入英文字母和阿拉伯数字,一定要输入
a 允许输入英文字母和阿拉伯数字,不一定要输入
C 允许输入任何字符,一定要输入
c 允许输入任何字符,不一定要输入
0 允许输入阿拉伯数字,一定要输入
9 允许输入阿拉伯数字,不一定要输入
# 允许输入阿拉伯数字或正、负号字符
: (冒号)用来分隔时间数据中的时、分、秒
/ 用来分隔日期数据中的年、月、日
例如:我们要实现带区号的电话号码,那么可以 !/(9999/)999999;1;_
“! ”将前面的空格去掉。
“/( ”区号的左括号。因为括号是特殊字符,所以在前面加“/”,(其实不加也是可以的)。
“9999”,区号的4个号码,当然若改成“0000”,则用户一定要输入区号。
“/)”区号的右括号。
“999999”,电话的6个号码。
“;”第一部分和第二部分的分隔。
“1”将输入后的区号括号做为数据的一部分。若“0”,则括号不做为数据一部分,即得到的数据是区号和电话号码直接相连(没有括号)。
“;”第二部分和第三部分的分隔。
“_”等待用户输入时显示的字符。
最后控件的显示结果为:(____)______
又例如:时间可以为 !90:00;1;_ ;IP地址可以为 !000/.000/.000/.000;1;_
以上是关于常用组件的使用- TMaskEdit单行文本编辑组件(定义掩码格式)的主要内容,如果未能解决你的问题,请参考以下文章
QT软件开发之基础控件--2.4.1 lineEdit单行文本编辑器