TIWTemplateProcessorHTML //使用外部的 html 文件做模板
TIWLayoutMgrHTML         //直接输入 Html 文本做模板
TIWLayoutMgrForm         //这应该只是内部使用的东西, 对用户没有意义

{需要把它们关联到窗体的 LayoutMgr 属性; 主模板需要通过 IWServerController.MasterTemplate 指定}
TIWTimer             //和 TTimer 没多大区别, 它的默认事件现在是异步的(OnAsyncTimer), 在网络上使用 OnTimer 肯定是非常糟糕的
TIWProgressBar       //进度条
TIWProgressIndicator //进度提示器; 这是个新东西, 非常好; 当碰到时间较长的加载时(同步或异步)都可以用用; 使用前需要先关联到窗体的 ProgressIndicator 属性
TIWTimeEdit          //个人认为这个东西一点用也没有; 只是给个分钟数按 8 小时换算成天、周之类, 如果需要还不如写个函数.
TIWList            //列表; 它对应 Html 中的 OL、LI(某些选项下会用表格模拟); TIWListbox 和 TIWComboBox 则对应 Html 在的 OptionTIWListbox         //列表框TIWComboBox        //组合下拉框TIWOrderedListbox  //可手动调整顺序的列表; 好像是新增的, 还不成熟



TIWTemplateProcessorHTML 所在单元及继承链:
IWTemplateProcessorHTML.TIWTemplateProcessorHTML < TIWContainerLayout
< TIWBaseContainerLayout < TIWBaseLayoutComponent <
TIWVCLComponent < TComponent < TPersistent < TObject

TIWTimer 所在单元及继承链:
IWCompExtCtrls.TIWTimer < TIWBaseHTML40Component <
TIWBaseHTMLComponent < TIWBaseComponent < TComponent <
TPersistent < TObject

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

主要成员:

主要成员:

主要成员:




property Enabled: Boolean       //使用或禁用模板, 默认 True
property MasterFormTag: Boolean //是否使用主模板, 默认是 True; 如果要使用当前模板应该让它是 False
property TagType: TIWTemplateLayoutHTMLTagType //ttBorland、ttIntraWeb(默认); 默认使用 {%控件名%} 嵌入控件, 如果选择 ttBorland 则用 {#控件名#}
property Templates: TIWTemplateFiles //Templates.Default 默认指向 Templates窗体名.html(如: IWForm1.html, 要求 Utf8格式), 也可以修改它(譬如动态变换模板时)
property RenderStyles: Boolean      //?
property RemoveHiddenInputs: Boolean //移除隐藏控件, 默认 False
property MasterTemplate: string      //也可以指定页面级的主模板, 但一般没必要

property OnUnknownTag: TIWUnknownTagEvent   //处理没有对应控件情况, 一般用于自定义标签
property OnBeforeProcess: TIWTemplateProcessEvent //
property OnAfterProcess: TIWTemplateProcessEvent  //

function Able: Boolean     //可通过该函数判断模板是否可用
function TemplatePathname: string; //可获取模板的详细地址

//在模板中使用容器中的控件: {% 容器名.控件名 %} 
property Interval: Integer //
property Enabled: Boolean  //

property OnTimer: TNotifyEvent       //
property OnAsyncTimer: TIWAsyncEvent //
property Items: TStringList  //property Numbered: Boolean   //是否使用数字编号; 默认 Trueproperty Bulleted: Boolean   //是否使用项目符号; 默认 Falseproperty BulletType: TIWListBulletType //项目符号类型: btDisc、btCircle、btSquare、btNoneproperty RenderMode: TIWListRenderMode //最终在 Html 中的呈现方式: rmTable、rmHTMLList(使用 Html 标准列表); 默认是 rmTable, 我推荐后者 procedure Clear  //



OnUnknownTag 事件测试:

TIWProgressBar威尼斯人平台, 所在单元及继承链:
IWCompProgressBar.TIWProgressBar < TIWCustomControl <
TIWBaseHTMLControl < TIWBaseControl < TIWVCLBaseControl <
TControl < TComponent < TPersistent < TObject

TIWListbox 所在单元及继承链:
IWCompListbox.TIWListbox < TIWCustomListbox < TIWCustomListCombo
< TIWCustomControl < TIWBaseHTMLControl < TIWBaseControl <
TIWVCLBaseControl < TControl < TComponent < TPersistent <
TObject


主要成员:

主要成员:

//假如在模板中自定义了 {%BaiduLogo%}
procedure TIWForm1.IWTemplateProcessorHTML1UnknownTag(const AName: string; var VValue: string);
begin
  if AName = 'BaiduLogo' then
    VValue := '<img src="http://www.bkjia.com/uploads/allimg/140621/121240L52-0.gif"/>';
end;



property BGColor: TIWColor //底色
property Color: TIWColor   //进度色
property Percent: Integer  //当前进度(0-100)
property ShowText: Boolean //是否显示进度比例文本
property Font: TIWFont     //
property ItemIndex: Integer   //property Items: TStringList   //property Sorted: Boolean      //是否排序property MultiSelect: Boolean //能否多选property Confirmation: string        //property DoSubmitValidation: Boolean //property Editable: Boolean           //property SelectedValue: string     //ItemsHaveValues = True 时, 键值对中的"值" property SelectedText: string      //ItemsHaveValues = True 时, 键值对中的"键" property Text: TCaption            //当前文本property BGColor: TIWColor         //背景色property FocusColor: TIWColor      //有焦点时的背景色property AutoHideOnMenuActivation: Boolean //是否在 IWMenu 使用时隐藏该控件 property ItemsHaveValues: Boolean  //= True 时, 每行字符串则当做键值对处理, 这时只显示键property NoSelectionText: string   //未选标示; 默认是: -- No Selection --property Required: Boolean         //是否是必选; 好像 MultiSelect = True 时无效property RequireSelection: Boolean //是否隐藏未选标示(当 ItemIndex <> -1 时), 默认 Trueproperty UseSize: Boolean          //是否使用设计时的宽度; 默认是 True, False 时将适宽property OnChange: TNotifyEvent       //property OnAsyncClick: TIWAsyncEvent  //property OnAsyncDoubleClick: TIWAsyncEvent //property OnAsyncChange: TIWAsyncEvent      //procedure Clear  //

TIWLayoutMgrHTML 所在单元及继承链:
IWLayoutMgrHTML.TIWLayoutMgrHTML < TIWContainerLayout <
TIWBaseContainerLayout < TIWBaseLayoutComponent < TIWVCLComponent
< TComponent < TPersistent < TObject



主要成员:

测试:

TIWComboBox 所在单元及继承链:
IWCompListbox.TIWComboBox < TIWCustomComboBox < TIWCustomListCombo
< TIWCustomControl < TIWBaseHTMLControl < TIWBaseControl <
TIWVCLBaseControl < TControl < TComponent < TPersistent <
TObject



TIWComboBox 主要成员同 TIWListBox, 另多几个:

property HTML: TStringList //

property OnUnknownTag: TIWUnknownTagEvent //
{在窗体上放 IWTimer1、TIWProgressBar1}
procedure TIWForm1.IWAppFormCreate(Sender: TObject);
begin
  IWProgressBar1.ShowText := True;
  IWProgressBar1.Color := $0000FF;
  IWProgressBar1.Font.Color := $FFFFFF;
end;

procedure TIWForm1.IWTimer1AsyncTimer(Sender: TObject; EventParams: TStringList);
begin
  IWProgressBar1.Percent := IWProgressBar1.Percent + 10;
  if IWProgressBar1.Percent >= 100 then IWTimer1.Enabled := False;
end;


威尼斯人平台 1

property Style: TIWCustomComboBoxStyle //两种样式: stNormal、stEnhancedproperty ButtonColor: TIWColor         //下拉按钮颜色; 须设置 Style = stEnhancedproperty ButtonImage: TIWFileReference //下拉按钮图像; 须设置 Style = stEnhancedproperty NonEditableAsLabel: Boolean   //= True, 且 Editable = False 时, 将以 IWLabel 呈现

//使用外部的 html
文件做模板TIWLayoutMgrHTML //直接输入 Html 文本做模板TIWLayoutMgrForm
//这应该只是内部使用的东西, 对用户没…



TIWProgressIndicator 所在单元及继承链:
IWCompProgressIndicator.TIWProgressIndicator < TComponent <
TPersistent < TObject

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

主要成员:

主要成员:



property Css: string  //这个弹出的等待窗口其实就是一个包含这 Table 的 Div, 可通过 Css 或下面几个属性弄得好看一点
property BGColor: TIWColor  //
property BoxColor: TIWColor //
property BoxBorderColor: TIWColor //
property BoxBorderWidth: Integer  //
property Opacity: Integer //透明度(0-100); 但等待窗口弹出时, 整个页面会有一个透明的遮罩层 
property Mode: TIWProgressIndicatorMode //有效模式: pimAsync(异步)、pimSync(同步,默认)、pimBoth(两者都用)
property BoxVisible: Boolean   //是否以窗口的形式呈现; 默认 True
property ImageVisible: Boolean //是否显示 Loading 动画图片; 默认 True
property UserDefined: Boolean  //是否禁用; 默认 False
property PreScript: TStrings       //
property PostScript: TStrings    //
property PreAsyncScript: TStrings  //
property PostAsyncScript: TStrings //
property ProgressTextSettings: TIWProgressTextSettings //提示文本相关设置
property RenderTag: TIWHTMLTag //

function Render: string //Render 方法和 RenderTag 属性应该老控件没有的; 在调试时它们还是有点用的
property Caption: TCaption       //标题property MoveDownCaption: string //向下按钮的标题property MoveUpCaption: string   //向上按钮的标题property ButtonWidth: Integer    //上下两按钮的宽度property Items: TStringList   //property ItemIndex: Integer   //?property MultiSelect: Boolean //能否多选property ItemsFont: TIWFont   //文本字体property CaptionFont: TIWFont //标题字体property ButtonsFont: TIWFont //按钮字体


测试:


{在窗体上放 IWProgressIndicator1 和两个按钮}
procedure TIWForm1.IWAppFormCreate(Sender: TObject);
begin
  Self.ProgressIndicator := IWProgressIndicator1; //关联到 IWProgressIndicator1
  IWProgressIndicator1.Mode := pimBoth;           //让同步异步都有进度提示
  IWProgressIndicator1.ProgressTextSettings.Text := '正在载入...';
  IWProgressIndicator1.ProgressTextSettings.Font.Color := clWebGreen;
end;

{同步事件}
procedure TIWForm1.IWButton1Click(Sender: TObject);
begin
  Sleep(3000); //等待 3 秒, 用于测试
end;

{异步事件}
procedure TIWForm1.IWButton2AsyncClick(Sender: TObject; EventParams: TStringList);
begin
  Sleep(3000);
end;

威尼斯人平台 2


//和 TTimer 没多大区别,
它的默认事件现在是异步的(OnAsyncTimer), 在网络上使用 OnTimer
肯定是非常糟糕的TIWProgressBar //进度条TIWProgressI…

相关文章