uniGUI之uniEdit(23)
主要新加属性;
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'});
}
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
uniGUI之uniEdit(23)的更多相关文章
- uniGUI学习汇总
UniGUI之UniLabel(31) uniGUI之自定义JS事件动作ClientEvents(30) uniGUI之文件下载(29) uniGUI之FDQuery(28) uniGUI之UniPo ...
- UniGUI 之UniDBGrid(05)
UniGUI 之UniDBGrid(05) 目录1]DataSource设置2]显示MEMO类型里的文字3]显示悬浮提示4]显示当前记录及总记录数5]读取所有记录,及分页6]在前面加上序号列7]不显示 ...
- uniGUI经验几则
uniGUI经验几则 (2015-11-07 21:42:41) 转载▼ 标签: it 分类: uniGUI 1.uniTimer的妙用 很多时候,都会遇到在一个uniForm或者uniFrame加载 ...
- [控件]unigui移动端下Unidatepicker时间显示解决方案
[控件]unigui移动端下Unidatepicker时间显示解决方案 http://tz10000.com/kong-jian-unigui-yi-dong-duan-xia-unidatepick ...
- Java开发中的23种设计模式详解
[放弃了原文访问者模式的Demo,自己写了一个新使用场景的Demo,加上了自己的理解] [源码地址:https://github.com/leon66666/DesignPattern] 一.设计模式 ...
- ILJMALL project过程中遇到Fragment嵌套问题:IllegalArgumentException: Binary XML file line #23: Duplicate id
出现场景:当点击"分类"再返回"首页"时,发生error退出 BUG描述:Caused by: java.lang.IllegalArgumentExcep ...
- CSharpGL(23)用ComputeShader实现一个简单的ParticleSimulator
CSharpGL(23)用ComputeShader实现一个简单的ParticleSimulator 我还没有用过Compute Shader,所以现在把红宝书里的例子拿来了,加入CSharpGL中. ...
- ABP(现代ASP.NET样板开发框架)系列之23、ABP展现层——异常处理
点这里进入ABP系列文章总目录 基于DDD的现代ASP.NET开发框架--ABP系列之23.ABP展现层——异常处理 ABP是“ASP.NET Boilerplate Project (ASP.NET ...
- Java开发中的23种设计模式详解(转)
设计模式(Design Patterns) ——可复用面向对象软件的基础 设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了 ...
随机推荐
- MomentJS记录下开发中用到的日期
1.计算当前周一到周日的日期 var weekOfday = moment().format('E');//计算今天是这周第几天 var last_monday = moment().s ...
- Spring-Bean的后置处理器
Spring——Bean 后置处理器 Bean 后置处理器允许在调用初始化方法前后对 Bean 进行额外的处理. BeanPostProcessor 接口定义回调方法,你可以实现该方法来提供自己的实例 ...
- yii2自定义报错页面
在Yii2版本的advanced高级模板环境中:设置404自定义页面的方法 1.config/main.php文件 'errorHandler' => [ 'errorAction' => ...
- Intersection over Union(IoU) algorithms
IoU算法可用与评估两个多维度数据的相似度,举一个实际应用,做CV,目标检测,我们需要评估模型的识别准确率,不同于二元类问题,普通的评估算法不合适,于是用到了这个算法,这个算法简单易懂,评估效果也不错 ...
- C语言创建共享库(动态库)步骤
C语言创建共享库(动态库)步骤: 创建sth.c,共享库源文件: //sth.c库源程序 unsigned long long sth(unsigned int x, unsigned int y) ...
- Uva 136 丑数
n^2暴力就完事,但是上限要高,不然就算不到对应的1500,刘汝佳的写法更好. #include <bits/stdc++.h> using namespace std; const in ...
- NOIP-- 模拟-----机器
机器翻译 题目描述 小晨的电脑上安装了一个机器翻译软件,他经常用这个软件来翻译英语文章. 这个翻译软件的原理很简单,它只是从头到尾,依次将每个英文单词用对应的中文含义来替换.对于每个英文单词,软件会先 ...
- 数据库单,多,全库、冷热备份思路及备份与还原(mysqldump)
热备份:服务开启状态下进行备份, 冷备份:服务关闭状态进行备份, 冷备份 数据库原有内容如下: MariaDB [(none)]> show databases;+--------------- ...
- 03-Docker-Engine详解
目录 03-Docker-Engine详解 摆脱 LXC 摒弃大而全的 Docker daemon 开放容器计划(OCI)的影响 runc containerd 启动一个新的容器 该模型的显著优势 s ...
- Tensorflow机器学习入门——常量、变量、placeholder和基本运算
一.这里列出了tensorflow的一些基本函数,比较全面:https://blog.csdn.net/M_Z_G_Y/article/details/80523834 二.这里是tensortflo ...