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)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了 ...
随机推荐
- 数据库程序接口——JDBC——功能第五篇——批量处理
综述 批量处理一般指批量插入,批量更新,删除通过可以指定where条件实现.批量插入的实现方式有三种类型.statement,preparedStatement,callableStatement. ...
- Go_random
package main import ( "math/rand" "fmt" "time" ) func main() { /* 生成随机 ...
- SQL语句 分组 多行合并成一行
,,'')) FROM Table d GROUP by Id 另外: sql 单引号转义:两个单引号转义为一个单引号 set @sql='STUFF((SELECT '','' + Names FR ...
- 《爬虫学习》(三)(requests库使用)
requests库 虽然Python的标准库中 urllib模块已经包含了平常我们使用的大多数功能,但是它的 API 使用起来让人感觉不太好,而 Requests宣传是 “HTTP for Human ...
- RHEL6-HA集群在VMware虚拟机环境安装配置文档
(一)系统环境描述 本文档基于RHEL6u5 系统安装,配置为2节点高可用集群,节点为两台VMware虚拟机. 也可参考http://blog.51cto.com/ty1992/1325327 (二) ...
- C#面向对象三大特性:封装
什么是封装 定义:把一个或多个项目封闭在一个物理的或者逻辑的包中.在面向对象程序设计方法论中,封装是为了防止对实现细节的访问. 封装的优点 1. 隔离性,安全性.被封装后的对象(这里的对象是泛指代码的 ...
- 201771010135 杨蓉庆AND张燕 《面对对象程序设计(java)》第十一周学习总结
1.实验目的与要求 (1) 掌握Vetor.Stack.Hashtable三个类的用途及常用API: (2) 了解java集合框架体系组成: (3) 掌握ArrayList.LinkList两个类的用 ...
- Clausen Functions (and related series, functions, integrals)
Since the Clausen functions are intimately related to a number of other important special functions, ...
- Visual Studio调试Tersseract
在Visual Studio中打开Tesseract项目,然后项目-->属性-->调试-->命令变量: 比如在debug目录下有一张 test.jpg的图片,里面有中文需要识别,命令 ...
- cas的单点登录实现
1. 前提条件 环境:jdk1.8.shiro1.4.0及以上版本.项目以 spring+shiro构建 工具:buji-pac4j-3.1.0-jar-with-dependencies.jar以 ...