文档章节

使用 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
76
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
110
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

没有更多内容

加载失败,请刷新页面

加载更多

nginx+tomcat配置https

1、nginx配置https和【proxy_set_header X-Forwarded-Proto $scheme;】 2、java代码: String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServe......

perofu
14分钟前
3
0
必看的Linux系统新手进阶老手心得

不知道从什么时候起,linux这个话题变得越来越普及,成为大家经常讨论的话题。无论在网络上还是实际生活中,竟然很多人都在纠结学习linux的问题。网络上给的答案千千万万,而却还有很多人踌躇...

Linux就该这么学
17分钟前
3
0
Spring Boot 配置元数据指南

1. 概览 在编写 Spring Boot 应用程序时,将配置属性映射到 Java bean 上是非常有用的。但是,记录这些属性的最好方法是什么呢? 在本教程中,我们将探讨 Spring Boot Configuration Proces...

liululee
21分钟前
2
0
foreach查找子类

$list = $menu_model -> menu_list();$parent_list = [];foreach ($list as $v){ if ($v['pid'] == 0) { $parent = $v; foreach ($list as $v1) ......

小小小壮
32分钟前
2
0
基于 HTML5 Canvas 实现的 TP-LINK 电信拓扑设备面板

前言 今天我们以真实的 TP-LINK 设备面板为模型,完成设备面板的搭建,和指示灯的闪烁和图元流动。 先来目睹下最终的实现效果:http://www.hightopo.com/demo/blog_tplink_20170511/index.h...

htdaydayup
38分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部