文档章节

使用 IntraWeb (11) - 基本控件之 TIWButton

涂孟超
 涂孟超
发布于 2014/09/26 15:35
字数 701
阅读 12
收藏 0

所在单元及继承链:
IWCompButton.TIWButton < TIWCustomControl < TIWBaseHTMLControl < TIWBaseControl < TIWVCLBaseControl < TControl < TComponent < TPersistent < TObject

主要成员:
property ButtonType: TIWButtonType  //!, 示例中详述
property HotKey: string             //热键; 譬如: HotKey = 'j', 那么热键就是: Alt+J
property Confirmation: string       //指定此信息后, 将弹出问询窗; 只有确认后才会执行 OnClick; 这非常方便, 也很有创意
property DoSubmitValidation: Boolean  //是否在提交时验证其他...
property ExtraTagParams: TStringList  //添加 Html Tag; 不要用于修改 Html Tag
property FriendlyName: string         //呈现给用户的名称
property ScriptEvents: TIWScriptEvents  //客户端的 js 事件脚本
property WebColor: TIWColor           //没看出和 Color 的区别
property WebFont: TIWFont             //没看出和 Font 的区别
property Css: string     //引用在样式表中定义的类; 譬如在样式表定义有 .MyClass1, 这里就可以设置 Css := 'MyClass1';
property StyleRenderOptions: TIWStyleRenderOptions  //指定哪些类别的样式设置可用于最终的呈现; 因为一些属性可能会和样式表有冲突
property Caption: TCaption  //标题
property Text: TCaption     //在该控件中, Text 和 Caption 没有区别
property DoRefreshControl: Boolean //它默认是 False, 但在修改某些属性时必须让它为 True 才会有效

property OnClick: TNotifyEvent        //与 ScriptEvents 中的 onclick 不同, 这会使整个页面提交, 就像 Submit 按钮一样
property OnAsyncClick: TIWAsyncEvent  //异步 Click; 难得见到这么简单的 AJAX 的实现
property OnHTMLTag: TIWOnHTMLTag      //事件发生在呈现 Html Tag 时; 可借机修改那些 Tag

function RenderHTML(AContext: TIWCompContext): TIWHTMLTag  //类似的还有 RenderStyle 等, 这应该是在继承控件时使用的; 现在可以使用 OnHTMLTag
function GetSubmitParam: string   //?
function OwnerForm: TIWBaseForm   //所属窗体; 譬如获取 IWButton1.OwnerForm.Name 的结果是 IWForm1


ButtonType 属性:
//在 Html 中的按钮有三种 Type: button、 submit、 reset, 分别表示: 一般按钮、提交按钮、重置按钮
//该属性的本意就是这个, 但现在它不起作用
//它默认是 button, 是否是指定为 submit 也不重要, TIWButton.OnClick 会自动提交; 但 reset 还是有用的

//在作者没有修正前, 可以先通过它的 OnHTMLTag 事件设置:
procedure TIWForm1.IWButton1HTMLTag(ASender: TObject; ATag: TIWHTMLTag); //可能需手动 uses IWHTMLTag
begin
  ATag.Params.Values['type'] := 'reset';
end;

{能接受重置的其他输入控件必须和重置按钮在同一 Region 内, 或都不在 Region 内}


DoSubmitValidation、FriendlyName 属性:
//在空窗体上放 IWEdit1、IWButton1, 写代码如下:
procedure TIWForm1.IWAppFormCreate(Sender: TObject);
begin
  IWEdit1.Required := True;          //指定为必填字段
  IWEdit1.FriendlyName := '姓名字段'; //在验证提示时将使用这个名称
//  IWButton1.DoSubmitValidation := False; //TIWButton.DoSubmitValidation 默认是 True; 如果指定为 False, 就不会执行验证了
end;

procedure TIWForm1.IWButton1Click(Sender: TObject);
begin
//只是测试提交, 这里不需要有代码
end;

//测试: 运行后, 清空 IWEdit1, 点击按钮, 将会弹出验证提示.


ExtraTagParams 属性:
procedure TIWForm1.IWAppFormCreate(Sender: TObject);
begin
  IWButton1.ExtraTagParams.Add('style = color: red');
end;


Css 属性:
procedure TIWForm1.IWAppFormCreate(Sender: TObject);
begin
  ExtraHeader.Add('<style>');
  ExtraHeader.Add('.MyClass1 {color: blue;}');
  ExtraHeader.Add('</style>');

  IWButton1.Css := 'MyClass1';
end;


本文转载自:http://www.cnblogs.com/del/p/3779076.html

共有 人打赏支持
涂孟超
粉丝 12
博文 2011
码字总数 14107
作品 0
深圳
程序员
私信 提问
界面控件包TMS IntraWeb Component Pack Pro Script Edition发布v5.8.8.1

TMS IntraWeb Component Pack Pro Script Edition允许从Delphi IDE直接在IntraWeb表格上编辑设计期间的网页。IntraWeb的TMS控件允许以RAD方法用Delphi进行网页应用程序的开发。这使得网页开发...

Harriet666
2017/10/20
0
0
使用delphi 开发 web(一) webbroke 简介

从delphi 3 开始,就可以支持使用webbroke 技术开发基于web 服务器。当时主要是支持CGI和ISAPI. CGI 其实就是一个类似控制台的可执行程序,将其放入web 服务器的可执行目录,每次web 服务器调...

xalion
2012/01/04
0
0
Android自定义控件三部曲文章索引

前言:在我从C++转到Android时,就被Android里炫彩斑斓的自定义控件深深折服,想知道如果想利用C++实现这些功能,那是相当困难的。从那时候起,我就想,等我学会了自定义控件,一定要写一篇系...

丁佳辉
2016/04/13
101
0
《Silverlight 2完美征程》:书稿目录

内容简介 本书详细介绍了微软下一代富互联网开发技术Silverlight,分为基础篇、进阶篇、高级篇和案例篇四个部分,共22个章节,以Silverlight 2为主要版本从不同的层面进行了阐释,第一部分介...

lihuijun
2009/04/24
0
0
解决Caused by: java.sql.SQLRecoverableException: IO Error: Connection reset相关问题

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/majian_1987/article/details/18598589 java.sql.SQLException: Io 异常: Connection reset 当数据库连接池中...

大饼卷馒头蘸米饭
2014/01/21
0
0

没有更多内容

加载失败,请刷新页面

加载更多

如何在 Linux 系统查询机器最近重启时间

在你的 Linux 或类 UNIX 系统中,你是如何查询系统上次重新启动的日期和时间?怎样显示系统关机的日期和时间? last 命令不仅可以按照时间从近到远的顺序列出该会话的特定用户、终端和主机名...

来来来来来
48分钟前
1
0
Redis协议是什么样的

前言 我们用过很多redis的客户端,有没有相过自己撸一个redis客户端? 其实很简单,基于socket,监听6379端口,解析数据就可以了。 redis协议 解析数据的过程主要依赖于redis的协议了。 我们...

春哥大魔王的博客
今天
2
0
乱入Linux界的我是如何学习的

欢迎来到建哥学Linux,咳!咳!咳!开个玩笑哈,我是一个IT男,IT界的入门选手,正在学习Linux。 在之前,一直想进军IT界,学习IT技术,但是苦于没有人指导,也不知道学什么,最开始我自己在...

linuxCool
今天
1
0
携程Apollo统一配置中心的搭建和使用(java)

一.Apollo配置中心介绍 1、What is Apollo 1.1 Apollo简介 Apollo(阿波罗)是携程框架部门研发的开源配置管理中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到...

morpheusWB
今天
2
0
远程获得的有趣的linux命令

使用这些工具从远程了解天气、阅读资料等。 我们即将结束为期 24 天的 Linux 命令行玩具日历。希望你有一直在看,如果没有,请回到开始,从头看过来。你会发现 Linux 终端有很多游戏、消遣和...

Linux就该这么学
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部