• 使用 IntraWeb (23)



    TIWTimer             //和 TTimer 没多大区别, 它的默认事件现在是异步的(OnAsyncTimer), 在网络上使用 OnTimer 肯定是非常糟糕的
    TIWProgressBar       //进度条
    TIWProgressIndicator //进度提示器; 这是个新东西, 非常好; 当碰到时间较长的加载时(同步或异步)都可以用用; 使用前需要先关联到窗体的 ProgressIndicator 属性
    TIWTimeEdit          //个人认为这个东西一点用也没有; 只是给个分钟数按 8 小时换算成天、周之类, 如果需要还不如写个函数.
    


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

    主要成员:
    property Interval: Integer //
    property Enabled: Boolean  //
    
    property OnTimer: TNotifyEvent       //
    property OnAsyncTimer: TIWAsyncEvent //
    



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

    主要成员:
    property BGColor: TIWColor //底色
    property Color: TIWColor   //进度色
    property Percent: Integer  //当前进度(0-100)
    property ShowText: Boolean //是否显示进度比例文本
    property Font: TIWFont     //
    


    测试:
    {在窗体上放 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;
    




    TIWProgressIndicator 所在单元及继承链:
    IWCompProgressIndicator.TIWProgressIndicator < 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 属性应该老控件没有的; 在调试时它们还是有点用的
    


    测试:
    {在窗体上放 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;
    



  • 相关阅读:
    Simple Form Fading
    CResizableFormView
    User-Defined Multi-Lingual Applications
    Automatic Resizing of a FormView Based Application When the User Toggles the Control Bars On or Off
    Save Zip File in Access Database With File Encryption in C#
    continue
    break
    declare/typeset
    bg/fg/jobs
    .
  • 原文地址:https://www.cnblogs.com/del/p/3795036.html
Copyright © 2020-2023  润新知