使用 IntraWeb (35) - TIWJQueryWidget
可有可无的东西, 因为没有它也可以方便达成其目的, 使用它貌似更形象一些; 也可以通过它调用其他 js 库.
利用类似手段, 有人推出了 CGDevTools; 它主要是利用 JQuery 扩展而成, 而 TMS For IW 是通过传统的继承体系.
下面示例主要参考了: http://jqueryui.com
TIWJQueryWidget 所在单元及继承链:
IWCompJQueryWidget.TIWJQueryWidget
主要成员:
property ContentFiles: TStringList //链接需要的 js 和 css 文件(远程或本地); 可用当前窗体的 ContentFiles; 如果全站使用可从 ServerController 单元 ContentFiles
property OnReady: TStringList //调用; 可用 AddToInitProc() 代替
示例(http://jqueryui.com/datepicker/):
{在窗体上添加两个 IWEdit 和一个 IWJQueryWidget}
procedure TIWForm1.IWAppFormCreate(Sender: TObject);
begin
IWJQueryWidget1.ContentFiles.Add('//code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css');
IWJQueryWidget1.ContentFiles.Add('//code.jquery.com/jquery-1.10.2.js');
IWJQueryWidget1.ContentFiles.Add('//code.jquery.com/ui/1.10.4/jquery-ui.js');
// IWJQueryWidget1.ContentFiles.Add('//jqueryui.com/resources/demos/style.css'); IWJQueryWidget1.OnReady.Add('$(".MyEditClass").datepicker();'); //.MyEditClass IWEdit1.Css := 'MyEditClass';
IWEdit2.Css := 'MyEditClass';
end; {抛开 IWJQueryWidget, 换种写法:}
procedure TIWForm1.IWAppFormCreate(Sender: TObject);
begin
ContentFiles.Add('//code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css');
ContentFiles.Add('//code.jquery.com/jquery-1.10.2.js');
ContentFiles.Add('//code.jquery.com/ui/1.10.4/jquery-ui.js'); AddToInitProc('$(".MyEditClass").datepicker();'); IWEdit1.Css := 'MyEditClass';
IWEdit2.Css := 'MyEditClass';
end;
效果图:
示例(http://jqueryui.com/accordion/):
{在窗体上放 IWJQueryWidget 和 IWText 各一个}
procedure TIWForm1.IWAppFormCreate(Sender: TObject);
begin
ContentFiles.Add('http://code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css');
ContentFiles.Add('http://code.jquery.com/jquery-1.10.2.js');
ContentFiles.Add('http://code.jquery.com/ui/1.10.4/jquery-ui.js'); IWJQueryWidget1.OnReady.Add('$("#accordion").accordion();'); IWText1.RawText := True;
{下面测试文本复制于原网页, 这样写不如在设计时贴进去}
IWText1.Lines.Text := '<div id="accordion">' +
' <h3>Section 1</h3>' +
' <div>' +
' <p>' +
' Mauris mauris ante, blandit et, ultrices a, suscipit eget, quam. Integer' +
' ut neque. Vivamus nisi metus, molestie vel, gravida in, condimentum sit' +
' amet, nunc. Nam a nibh. Donec suscipit eros. Nam mi. Proin viverra leo ut' +
' odio. Curabitur malesuada. Vestibulum a velit eu ante scelerisque vulputate.' +
' </p>' +
' </div>' +
' <h3>Section 2</h3>' +
' <div>' +
' <p>' +
' Sed non urna. Donec et ante. Phasellus eu ligula. Vestibulum sit amet' +
' purus. Vivamus hendrerit, dolor at aliquet laoreet, mauris turpis porttitor' +
' velit, faucibus interdum tellus libero ac justo. Vivamus non quam. In' +
' suscipit faucibus urna.' +
' </p>' +
' </div>' +
' <h3>Section 3</h3>' +
' <div>' +
' <p>' +
' Nam enim risus, molestie et, porta ac, aliquam ac, risus. Quisque lobortis.' +
' Phasellus pellentesque purus in massa. Aenean in pede. Phasellus ac libero' +
' ac tellus pellentesque semper. Sed ac felis. Sed commodo, magna quis' +
' lacinia ornare, quam ante aliquam nisi, eu iaculis leo purus venenatis dui.' +
' </p>' +
' <ul>' +
' <li>List item one</li>' +
' <li>List item two</li>' +
' <li>List item three</li>' +
' </ul>' +
' </div>' +
' <h3>Section 4</h3>' +
' <div>' +
' <p>' +
' Cras dictum. Pellentesque habitant morbi tristique senectus et netus' +
' et malesuada fames ac turpis egestas. Vestibulum ante ipsum primis in' +
' faucibus orci luctus et ultrices posuere cubilia Curae; Aenean lacinia' +
' mauris vel est.' +
' </p>' +
' <p>' +
' Suspendisse eu nisl. Nullam ut libero. Integer dignissim consequat lectus.' +
' Class aptent taciti sociosqu ad litora torquent per conubia nostra, per' +
' inceptos himenaeos.' +
' </p>' +
' </div>' +
'</div>';
end;
效果图:
使用 IntraWeb (35) - TIWJQueryWidget的更多相关文章
- CSharpGL(35)用ViewPort实现类似3DMax那样的把一个场景渲染到4个视口
CSharpGL(35)用ViewPort实现类似3DMax那样的把一个场景渲染到4个视口 开始 像下面这样的四个视口的功能是很常用的,所以我花了几天时间在CSharpGL中集成了这个功能. 在CSh ...
- C#开发微信门户及应用(35)--微信支付之企业付款封装操作
在前面几篇随笔,都是介绍微信支付及红包相关的内容,其实支付部分的内容还有很多,例如企业付款.公众号支付或刷卡支付.摇一摇红包.代金券等方面的内容,这些都是微信接口支持的内容,本篇继续微信支付这一主题, ...
- 【UOJ #35】后缀排序 后缀数组模板
http://uoj.ac/problem/35 以前做后缀数组的题直接粘模板...现在重新写一下模板 注意用来基数排序的数组一定要开到N. #include<cstdio> #inclu ...
- Red5 1.0.0RC1 集成到tomcat6.0.35中运行&部署新的red5项目到tomcat中
1.下载red5-war-1.0-RC1.zip 解压之得到 ROOT.war 文件. 2.处理tomcat. 下载apache-tomcat-6.0.35-windows-x86.zip包,解压到你 ...
- [转]9个offer,12家公司,35场面试,从微软到谷歌,应届计算机毕业生的2012求职之路
1,简介 毕业答辩搞定,总算可以闲一段时间,把这段求职经历写出来,也作为之前三个半月的求职的回顾. 首先说说我拿到的offer情况: 微软,3面->终面,搞定 百度,3面->终面,口头of ...
- 背水一战 Windows 10 (35) - 控件(弹出类): FlyoutBase, Flyout, MenuFlyout
[源码下载] 背水一战 Windows 10 (35) - 控件(弹出类): FlyoutBase, Flyout, MenuFlyout 作者:webabcd 介绍背水一战 Windows 10 之 ...
- 每个程序员都会的 35 个 jQuery 小技巧
1. 禁止右键点击 $(document).ready(function(){ $(document).bind("contextmenu",function(e){ return ...
- 35个java代码性能优化。。转
前言 代码优化,一个很重要的课题.可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有什么影响呢?这个问题我是这么考虑 的,就像大海里面的鲸鱼一样,它吃一条小虾米有用吗?没用 ...
- ubuntu 14.04 ns2.35 ***buffer overflow detected **: ns terminated解决办法
1.按照如下教程安装 Install With Me !: How to Install NS-2.35 in Ubuntu-13.10 / 14.04 (in 4 easy steps) 2.运行一 ...
随机推荐
- (并发编程)进程IPC,生产者消费者模型,守护进程补充
一.IPC(进程间通信)机制进程之间通信必须找到一种介质,该介质必须满足1.是所有进程共享的2.必须是内存空间附加:帮我们自动处理好锁的问题 a.from multiprocessing import ...
- 安装cactiez v11对windows和linux系统进行监控
日常运维中我们需要对服务器的流量.CPU占用.硬盘使用及内存.磁盘IP等进行监控和了解,cactiez是一款基于centos6.4定制安装了常用监控软件的系统,安装简单,功能强大很适合快速部署监控系统 ...
- Slick.js+Animate.css 结合让网页炫动起来
一个代码示例: html部分 <link rel='stylesheet prefetch' href='//cdnjs.cloudflare.com/ajax/libs/animate.css ...
- linux ubuntu 指令
查找文件:ls -lrt /java 用于查找java文件信息 https://ipcmen.com/ls编辑/etc/profilewen文件,在文件末尾添加export JAVA_HOME=/us ...
- 对 Laravel 的 Controller 做 Unit Test
之前尝试过对 Laravel 的 Controller 做 Feature Test,但是在业务变得越来越复杂之后,我感觉对 controller 里的函数也没了自信,急需对功能函数做 Unit Te ...
- python3 + selenium 之文件上传下载
文件上传 文件上传下载的联系html: uplad.html <html> <head> <meta http-equiv="content-type" ...
- centOS下单点部署k8s
Kubernetes 是Google的一种基于容器的开源服务编排解决方案,在我们进行Kubernetes的学习前,为了对Kubernetes的工作有一个大概的认识, 我们需要先安装一个单节点的实例服务 ...
- DB操作-用批处理执行Sql语句
用批处理在命令行状态下调用查询分析器来执行这个sql文件里的语句.下面就是sqlserver帮助里对于查询分析器(isqlw)命令行参数的解释:isqlw 实用工具(SQL 查询分析器)使您得以输入 ...
- (第4篇)hadoop之魂--mapreduce计算框架,让收集的数据产生价值
摘要: 通过前面的学习,大家已经了解了HDFS文件系统.有了数据,下一步就要分析计算这些数据,产生价值.接下来我们介绍Mapreduce计算框架,学习数据是怎样被利用的. 博主福利 给大家赠送一套ha ...
- (canvas)两小球碰撞后的速度问题研究
这两天在研究canvas碰撞 先把小球开始运动的图拿出来 参考了一下别的的代码,在两个小球碰撞处理上,我觉得不完善 怎么样处理才算完善呢,当然是要用高中物理学的动量守恒了和机械能守恒了 机械能守恒我其 ...