利用 StartLoadingStatus 和 FinishLoadingStatus 读取数据特别是大数据时增加渐隐渐显等待特效 - Ehlib学习(三)

代码很简单:

  DBGrideh.StartLoadingStatus(' Loading ... ');
  Sleep(500);  
  DBGrideh.FinishLoadingStatus;
  

 

做下变动:

  DBGrideh.StartLoadingStatus(' Loading ... ',1000);  //1000表示显示的速度
  Sleep(500);  
  DBGrideh.FinishLoadingStatus(1000);    //1000表示显示的速度,此处的单位不是毫秒  

 

上一段代码中发现的数值1000单位不是毫秒,原因见代码

  Steps := RenderDuration;  //上一段代码中的数值1000
  i := 1;    //起始数值1;
  Step := 1;    //步长1;
  while i < Steps do
  begin
    DrawAlphaBlend(i, Steps);
    RenDur := GetTickCount - t;
    if RenDur > 0
      then StepSize := Round(RenDur / Step)
      else StepSize := 1;
    if StepSize = 0 then
      StepSize := 1;
    i := i + StepSize;
    Inc(Step);
  end;

 

posted @ 2015-02-14 15:56  胡伟峰  阅读(966)  评论(0编辑  收藏  举报