利用 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;

 

你可能感兴趣的:(status)