Demo学习: ClientEvents
ClientEvents
在控件的ClientEvents属性里嵌入JS代码,增加了开发的灵活性。
分别在TUniPanel和TUniTimer的 ClientEvents事件里添加了JS代码:
1. 通过JS代码来设置控件的属性:
function Onmousemove(sender, x, y)
{
var W=MainForm.UniButton1.getWidth();
var Y=sender.getHeight()-24;
MainForm.UniButton1.setPosition(x-W/2, Y);
} function Onmousemove(sender, x, y)
{
MainForm.UniLabel1.setPosition(x, y);
} function OnClick(sender, e)
{
MainForm.UniLabel1.setText('Click!');
} function form.Onmousemove(sender, x, y)
{
MainForm.UniEdit1.setValue(x+' : '+y);
}
function OnMouseout(sender, e)
{
sender.setText('Out');
}
2. 使用Ajax进行一些数据操作:
//开始执行操作
procedure TMainForm.UniButton1Click(Sender: TObject);
begin
Sleep();
end;
//正在执行操作
function OnAjaxRequest(sender, url, data)
{
sender.setText('Ajax request in progress...');
sender.setDisabled(true);
}
//操作完成,在需要处理数据同步时,可以在这里处理。
function OnAjaxCallback(sender, response)
{
sender.setDisabled(false);
sender.setText('UniButton123');
}
3. 相应键盘事件:
function form.Onkeydown(sender, key, shift)
{
var xy=MainForm.UniPanel1.getPosition(true);
var x=xy[0];
var y=xy[1]; var inc=5;
if (shift & 1) inc=10; // shift
if (shift & 4) inc=1; // ctrl
if (shift & 2) inc=20; // alt switch(key) {
case 40 : y+=inc; break;
case 38 : y-=inc; break;
case 37 : x-=inc; break;
case 39 : x+=inc; break;
} if (y<0) y=0;
if (x<0) x=0; if (y>MainForm.form.getHeight()) y=MainForm.form.getHeight();
if (x>MainForm.form.getWidth()) x=MainForm.form.getWidth(); MainForm.UniPanel1.setPosition(x, y);
}
ClientEvents有很多JS属性,自己多多研究。

Demo学习: ClientEvents的更多相关文章
- 《IT蓝豹》吹雪花demo,学习android传感器
吹雪花demo,学习android传感器 吹雪花demo,学习android传感器,嘴巴对着手机底部吹一下就会出现飘着雪花效果. 算是学习android传感器效果.本例子主要是通过android.me ...
- [Unity3D]做个小Demo学习Input.touches
[Unity3D]做个小Demo学习Input.touches 学不如做,下面用一个简单的Demo展示的Input.touches各项字段,有图有真相. 本项目已发布到Github,地址在(https ...
- 百度mobile UI组件GMU demo学习1-结构和初始化
移动web现在已经是zepto的天下,但是一直找不到合适UI库,找了一段时间,终于找到了百度的ui库gum和inter 的 appframework UI库 相比之下,百度的UI库更接地气,配合百度强 ...
- ShadowGun Demo学习(非技术向)
主要针对拿来主义,并对一些使用范围广的shader进行研究.虽然是4,5年前的demo,但还是有学习价值的 1.GodRays MADFINGER/Transparent/GodRays 传统的上帝之 ...
- 微信小程序官方demo学习
最近微信小程序很火,很喜欢那种轻应用,用完就走的理念.于是,下载好微信开发者工具,学习一下官方demo. 体验下来,有类似react和vue的感觉,dom类似react那种组件的,data-bindi ...
- Cesium学习笔记(七):Demo学习(自由控制飞行的飞机)[转]
https://blog.csdn.net/umgsoil/article/details/74923013# 这是官方的教程Demo,名字叫Use HeadingPitchRoll,顾名思义,就是教 ...
- 如何写好demo——学习感悟
文章标题:教你如何写好Demo应用 如何制作出最有用的demo呢? 简,易 在demo中,我们要专注于单一的主题.我们的教学覆盖了很大的知识范围,因此,化整为零是非常必要的. 例如,我们要说明Andr ...
- unity3d入门 Demo 学习记录
闲来学习一下 unity3d 的Demo,记录如下. 官方 Demo,名字为 Roll-A-Ball,如图 场景比较简单,包含地面.玩家精灵.主摄像机.墙壁.可拾取的方块.分数为示 text.平行光源 ...
- BNR Android Demo学习笔记(一)——CrimeIntent
开发环境:win7,Android Studio 1.2, 1.Model Crime,数据模型,每个Crime有一个UUID作为唯一标识. package tina.criminalintent; ...
随机推荐
- Recovery启动流程(2)---UI界面
转载请注明来源:cuixiaolei的技术博客 Recovery启动流程系列文章把recvoery目录下文件分成小块讲解,最后再以一条主线贯穿所有的内容.这篇文章主要讲解Recovery-UI的相关内 ...
- (重刷)HDU 1874 畅通工程续 + HDU 2544 最短路 最短路水题,dijkstra解法。
floyd解法 今天初看dijkstra,先拿这两题练手,其他变形题还是不是很懂. 模版题,纯练打字... HDU 1874: #include <cstdio> #define MAXN ...
- windows下安装swoole。
服务器是用了Linux环境,所以安装swoole的过程只要看看文档就好了. 由于编写代码环境是在windows上,需要在windows上安装swoole.以便测试. 好了废话不多说,我们看官网文档解决 ...
- js实现归并排序
function merge(s_arr, d_arr, start, middle, end){ var s_temp = start; var m_temp = middle+1; var tem ...
- 关于解决form表单记录上次保存填写记录清空
传进来的是一个HTML的Table的ID. function doReset(tableId){ var tbl_content = document.getElementById(tableId); ...
- 关于Eclipse生成和导入Patch文件.
& 生成的文件如下: 如果系统对这个patch文件有识别的话是一个带有问号的icon文件. diff --git a/main/plugins/org.talend.designer.core ...
- hdu 4421 2-SAT问题
思路:我们需要判断是否有满足的a[n],其实也就是对每一个二进制位进行判断,看是否有满足的.那么我们每次取出一个二进制位,这样每一位只有0,1两种状态,就成了比较典型的2-SAT问题了. #inclu ...
- SharePoint 2010 获取列表全部定义方法
http://spf06/_vti_bin/owssvr.dll?Cmd=ExportList&List=%7B220128F0-6084-45B3-9942-C29B3AF6663C%7D ...
- html css中id和class的区别比较
在定义样式的时候,有时候会将id和class的用法弄混淆,所以在这里特意说明一下: id和class属性是网页中两个通用的属性,它们协同工作使整个页面变得丰富多彩.当我们为一个元素定义样式时.可以使用 ...
- js学习笔记—转载(闭包问题)
---恢复内容开始--- 闭包(closure)是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现. 一.变量的作用域 要理解闭包,首先必须理解Javascrip ...