在delphi中处理逻辑时加载图标

时间:2013-09-26 16:03:10

标签: delphi

我从数据库获取一些数据并使用Grid显示给用户。由于数据量非常大,因此将数据加载到网格需要几秒钟。我试图在加载数据的过程中显示加载光标符号。

LockGrid(); //这将禁用控件,以便用户无法发生任何事件。

//想在此处显示加载符号。

开始更新数据

UnlockGrid(); //释放控件

任何实现这一目标的想法。 感谢

2 个答案:

答案 0 :(得分:4)

Screen.Cursor := crHourGlass;
try
  // Do the job
finally
  Screen.Cursor := crDefault;
end;

做这个工作?

但是,您可能还想考虑将工作放在一个单独的线程中。毕竟,如果不这样做,您的UI将在整个工作期间无响应。

根据网格的类型,您可能还可以在加载数据之前和BeginUpdate之前调用EndUpdate。这可能会显着加快这一过程。

答案 1 :(得分:1)

另一种方法是使用OnProgress回调来动画图标或增加进度条,就像在这个问题中一样: How to see progress of query execution during handle?