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

作者是收費的,功能不斷增加,價格也在上漲,但對於老用戶免費升級,趁早出手,實惠多多!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM