主要新加属性;

a]EmptyText在没有文本里显示的背景文本。

b]作为其他控件的编辑输入控件。

c]ClearButton清空按钮

d]左边显示文本

e]回车触发事件CharEOL:=#13

f]空白内容,红色提示

h]右边感叹号提示 必填


a]EmptyText在没有文本里显示的背景文本。

UniEdit1.EmptyText:='背景文字';


b]作为其他控件的编辑输入控件。

  UniDBGrid1.Columns[].Filtering.Editor := UniEdit1;   //十过滤 编辑控件 放在hidenPanel
UniDBGrid1.Columns[].Editor := UniEdit1; //双击 编辑控件 放在hidenPanel UniEdit1.CharEOL:=#; //表示回车 确定 开始 这很重要

c]ClearButton清空按钮

procedure TMainForm.UniFormCreate(Sender: TObject);
begin
UniEdit1.ClearButton:=true;
end;

d]左边显示文本

 uniEdit1.FieldLabel:='姓名';        //文本值
uniEdit1.FieldLabelAlign:=laRight; //靠右显示
//uniEdit1.FieldLabelSeparator:=':';//分隔符,默认为 : 可以不设置
uniEdit1.FieldLabelWidth:= //文本宽度

e]回车触发事件CharEOL:=#13

然后在OnKeyPress写事件

procedure TMainForm.UniEdit1KeyPress(Sender: TObject; var Key: Char);
begin
UniMemo1.Lines.Add(UniEdit1.Text);
end;
//等价于,例子D:\Program Files\FMSoft\Framework\uniGUI\Demos\Desktop\AllFeaturesDemo Form Controls/CharEOL
procedure TMainForm.UniEdit1KeyPress(Sender: TObject; var Key: Char);
begin
if (Key = #) then begin
UniMemo1.Lines.Add(UniEdit1.Text);
end;
end;

f]空白内容,红色提示

var
tmpColor: TColor;
begin
if Trim(UniEdit1.Text) = '' then
begin
tmpColor := UniEdit1.Color;
UniEdit1.Color := clRed;
MessageDlg('【设备型号】 不能为空!', mtConfirmation, [mbOK],
procedure(Sender: TComponent; Res: Integer)
begin
if Res = mrOK then
UniEdit1.Color := tmpColor;
end); Exit;
end;
end;

h]右边感叹号提示 必填

1】设计时uniEdit1.text必须有,就是要经历过一个 有值  再无值的 过程 触动。

2】在

procedure TMainForm.UniFormAfterShow(Sender: TObject);
begin
uniedit1.Text:='';//将文本清空
end;

function beforeInit(sender, config)
{ Ext.apply(sender,{allowBlank:false,vtype:'',msgTarget : 'side'});}
function beforeInit(sender, config)
{
Ext.apply(sender,{allowBlank:false,vtype:'email',msgTarget : 'side'});
}

EMail

function beforeInit(sender, config)
{
var timeTest = /^([1-9]|1[0-9])[0-5][0-9])(\s[a|p]m)$/i;
Ext.apply(Ext.form.field.VTypes, {
// vtype validation function
time: function(val, field) {
return timeTest.test(val);
},
// vtype Text property: The error text to display when the validation function returns false
timeText: 'Not a valid time. Must be in the format "12:34 PM".',
// vtype Mask property: The keystroke filter mask
timeMask: /[\d\s:amp]/i
}); Ext.apply(sender,{
name: 'departureTime',
vtype: 'time',
msgTarget : 'side'
});
}

12:34 PM

function beforeInit(sender, config)
{
// custom Vtype for vtype:'IPAddress'
Ext.apply(Ext.form.field.VTypes, {
IPAddress: function(v) {
return /^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/.test(v);
},
IPAddressText: 'Must be a numeric IP address',
IPAddressMask: /[\d\.]/i
}); Ext.apply(sender,{
name: 'IPAddress',
vtype: 'IPAddress',
msgTarget : 'side'
});
}

IP地址

function beforeInit(sender, config)
{
// custom Vtype for vtype:'AlphaNum'
Ext.apply(Ext.form.field.VTypes, {
AlphaNum: function(v) {
return /^[a-zA-Z0-9_]+$/i.test(v);
},
AlphaNumText: 'Must be an alphanumeric word',
// This mask filter invalid keystrokes
AlphaNumMask: /[a-z0-9]/i
}); Ext.apply(sender,{
vtype: 'AlphaNum',
msgTarget : 'side'
});
}

AlphaNumber

function beforeInit(sender, config)
{
var url = /(((^https?)|(^ftp)):\/\/([\-\w]+\.)+\w{2,3}(\/[%\-\w]+(\.\w{2,})?)*(([\w\-\.\?\\\/+@`~=%!]*)(\.\w{2,})?)*\/?)/i;
// custom Vtype for vtype:'url'
Ext.apply(Ext.form.field.VTypes, {
url: function(v) {
return url.test(v);
},
urlText: 'Must be a valid URL (ie. http, https or ftp)'
}); Ext.apply(sender,{
vtype: 'url',
msgTarget : 'side'
});
}

URL

最新文章

  1. JS中两个重要的方法 call & apply 学习
  2. 使用-MM生成include指令和依赖生成(make include directive and dependency generation with -MM)
  3. HDU 4614 Vases and Flowers(线段树+二分)
  4. linux常用命令:2权限管理命令
  5. Ecshop 安装时错误
  6. phpcms 2008 /preview.php SQL注入漏洞
  7. [CC150] Find a line passing the most number of points
  8. Light oj 1030 二分查找
  9. UGUI 快捷键创建UGUI组件
  10. Html.ActionLink("linkText","actionName")
  11. RequiredFieldValidator控件--必填验证控件
  12. Java并发性和多线程介绍
  13. Android中Edittext的属性
  14. JS定时器的使用--延时提示框
  15. Error:Android Source Generator: [sdk] Android SDK is not specified.
  16. Media Player Classic - HC 源代码分析 2:核心类 (CMainFrame)(1)
  17. cug-day02
  18. autoit学习安装说明及例子
  19. [android]android下apk的安装过程
  20. Django rest framework(6)----序列化(2)

热门文章

  1. AcWing 867. 分解质因数
  2. SpringMVC_001 第一个SpringMVC程序
  3. cordova的安装与配置
  4. etc/hosts文件详解
  5. 在linux里面ps -ef | grep tomcat 什么意思
  6. Linux Mysql8每天定时备份数据库并自动删除7天之前的备份
  7. Mybatis 元素类型为 "resultMap" 的内容必须匹配 "(constructor?,id*,result*,association*,collection*,discriminat
  8. 卫哲VS投行女,秋后算账是阿里的企业文化吗?
  9. 2.1.FastDFS-单机拆分版-单机版安装配置
  10. cglib用法