• ChinaCock界面控件介绍-CCLoadingIndicator


    这是一个显示等待状态的控件,当在线程中执行一个稍长时间的任务,需要显示一个等待过程,免得让用户不知app在做什么?避免用户寂寞。

    先看看这个控件的属性说明:

    BackgroundTransparency:指这个控件显示时,背景是否透明,默认False,当设置为False时,等待界面会锁定背后的控件,不允许用户操作。很多时间,我们需要设置他为False,防止app在执行查询时,用户还会有其他的操作。

    Fill:显示控件的填充颜色

    Height:高度

    LoadingBitmap:显示的图片,默认情况下,不设置此图片,显示控件会显示默认的,效率已经非常好了。但我们可以显示自己的图片,比如app的Logo,我试着用100*100透明Png图片,效率也非常棒。

    LoadingBitmapOpaqueColor:显示图片的颜色,为了app的整体风格统一,你可以按app的主体色来设置,设置后,图片会按这个颜色来显示

    LoadingText:显示等待状态时的文字,比如:正在查询数据...

    Stroke:等待控件的边框设置,可以设置颜色等

    TextSettings:LoadingText的字体设置

    现在,看看具体的应用案例:

    由于这是一个不可视控件,在IDE中拖放一个到MainForm上,然后设置其属性,定制其外观。然后呢,我们可以做两个全局方法,一个是显示等待状态,一个是隐藏等待界面。

    procedure ShowProgressDialog(msg:string);
    begin
      mainform.CCLoadingIndicator1.LoadingText:=msg;
      mainform.CCLoadingIndicator1.ShowLoadingIndicator;
    end;
    
    procedure HideProgressDialog;
    begin
      MainForm.CCLoadingIndicator1.HideLoadingIndicator;
    end;

    调用过程:

    procedure TCLInfo.PrintPhoto(ID: string);
    begin
    
      ShowProgressDialog('正在生成打印内容...');
      Scheduler.Run(
                    procedure
                    begin
                       ...//执行长时间查询 
                    end)
               .SynchronizedAfterRun(
                                      procedure
                                      begin
                                        HideProgressDialog;
                                        if r = 'ok' then
                                        begin
                                          PrintPDF(fn)
                                        end
                                        else
                                          fmx.Dialogs.ShowMessage('无法打印:' + r);
                                      end)
               .Activate;
    end;

    上段代码使用了kbmMW的Scheduer对象,在线程中执行查询任务,从服务端返回生成的PDF文件,完成后,在主线程中打印这个文件。

    这是默认图片显示的效果:

     

    这是使用图片显示的效果:

    如果你对ChinaCock感兴趣,可以加入QQ群:223717588。作者的QQ:591361557

    作者是收费的,功能不断增加,价格也在上涨,但对于老用户免费升级,趁早出手,实惠多多!

  • 相关阅读:
    [译]The Python Tutorial#4. More Control Flow Tools
    Python基础-函数参数
    Python进阶-继承中的MRO与super
    Python基础-类
    [译]The Python Tutorial#6. Modules
    Python基础-包与模块
    Python基础-类变量和实例变量
    Python进阶
    iphonex适配
    web前端安全
  • 原文地址:https://www.cnblogs.com/kinglandsoft/p/10275456.html
Copyright © 2020-2023  润新知