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

所在单元及继承链:
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;

上一篇:省一行是一行:在if语句中使用C# 7.0的模式匹配


下一篇:Python之路第九天,高级(1)-网络编程