可有可无的东西, 因为没有它也可以方便达成其目的, 使用它貌似更形象一些; 也可以通过它调用其他 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的更多相关文章

  1. CSharpGL(35)用ViewPort实现类似3DMax那样的把一个场景渲染到4个视口

    CSharpGL(35)用ViewPort实现类似3DMax那样的把一个场景渲染到4个视口 开始 像下面这样的四个视口的功能是很常用的,所以我花了几天时间在CSharpGL中集成了这个功能. 在CSh ...

  2. C#开发微信门户及应用(35)--微信支付之企业付款封装操作

    在前面几篇随笔,都是介绍微信支付及红包相关的内容,其实支付部分的内容还有很多,例如企业付款.公众号支付或刷卡支付.摇一摇红包.代金券等方面的内容,这些都是微信接口支持的内容,本篇继续微信支付这一主题, ...

  3. 【UOJ #35】后缀排序 后缀数组模板

    http://uoj.ac/problem/35 以前做后缀数组的题直接粘模板...现在重新写一下模板 注意用来基数排序的数组一定要开到N. #include<cstdio> #inclu ...

  4. 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包,解压到你 ...

  5. [转]9个offer,12家公司,35场面试,从微软到谷歌,应届计算机毕业生的2012求职之路

    1,简介 毕业答辩搞定,总算可以闲一段时间,把这段求职经历写出来,也作为之前三个半月的求职的回顾. 首先说说我拿到的offer情况: 微软,3面->终面,搞定 百度,3面->终面,口头of ...

  6. 背水一战 Windows 10 (35) - 控件(弹出类): FlyoutBase, Flyout, MenuFlyout

    [源码下载] 背水一战 Windows 10 (35) - 控件(弹出类): FlyoutBase, Flyout, MenuFlyout 作者:webabcd 介绍背水一战 Windows 10 之 ...

  7. 每个程序员都会的 35 个 jQuery 小技巧

    1. 禁止右键点击 $(document).ready(function(){ $(document).bind("contextmenu",function(e){ return ...

  8. 35个java代码性能优化。。转

    前言 代码优化,一个很重要的课题.可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有什么影响呢?这个问题我是这么考虑 的,就像大海里面的鲸鱼一样,它吃一条小虾米有用吗?没用 ...

  9. 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.运行一 ...

随机推荐

  1. Git学习笔记一《版本控制之道-使用Git》

    1.在Windows中安装完git后,需要进行一下配置:$ git config --global user.name "zhangliang"$ git config --glo ...

  2. fatal error: google/protobuf/arena.h:没有那个文件或目录

    安装caffe时make all会出现这个错误,按照https://github.com/BVLC/caffe/issues/4988说法,可能时libprotobuf-dev过时了,需要从源码重新变 ...

  3. 父窗口中获取iframe中的元素

    js 在父窗口中获取iframe中的元素 1. 格式:window.frames["iframe的name值"].document.getElementById("ifr ...

  4. 从输入url到显示网页,后台发生了什么?

    参考http://igoro.com/archive/what-really-happens-when-you-navigate-to-a-url/ http://www.cnblogs.com/we ...

  5. 2018-2019-2 网络对抗技术 20165333 Exp1 PC平台逆向破解

    1 逆向及Bof基础实践说明 1.1 实践目标 本次实践的对象是一个名为pwn1的linux可执行文件.该程序正常执行流程是:main调用foo函数,foo函数会简单回显任何用户输入的字符串.该程序同 ...

  6. .NetCore源码阅读笔记系列之Security (四) Authentication & AddJwtBearer

    接下来我们在来看下AddJwtBearer,这个与AddOpenIdConnect不太一样,后者是远程发起身份认证请求是一种主动发起式的,多用于web等客户端,验证发生在身份认证服务端,而前者是一种被 ...

  7. poj 3233 S = A + A^2 + A^3 + … + A^k A是一个n X n矩阵 (矩阵快速幂)

    S = A + A^2 + A^3 + … + A^k A是一个n*n矩阵 Sample Input 2 2 4 //n k MOD0 11 1Sample Output 1 22 3 先求 I +  ...

  8. vijos 1128 N个数选K个数 (DFS )

    从 n 个整数中任选 k 个整数相加,可分别得到一系列的和 要求你计算出和为素数共有多少种 IN4 33 7 12 19 OUT1 # include <iostream> # inclu ...

  9. ubuntu ufw防火墙软件的配置入门

    顺便,一条龙作完安全吧. ufw的使用,是比iptables简单.但只能作简单的事儿,更改简单的netfilter里的iptable里的记录.难点的,可能还是得iptables原生命令. 自打2.4版 ...

  10. Codeforces 594A - Warrior and Archer

    题目大意:给你在一条线上的n(偶数)个点,mike和alice 开始禁点,他们轮流开始,直到最后只剩下两个点, mike希望剩下的两个点距离尽可能小,alice希望剩下的两个点距离尽可能大,他们都采用 ...