【发布时间】:2011-09-15 07:22:02
【问题描述】:
通常,当我有一个需要一些时间的任务时,我会使用这样的脚本:
procedure Work;
var
cPrevious: TCursor;
begin
cPrevious := Screen.Cursor;
Screen.Cursor := crHourGlass;
try
// the task
finally
Screen.Cursor := cPrevious;
end;
end;
使用 FireMonkey,Screen 没有属性:Cursor。
向用户提供反馈的最佳方式是什么?
我跟随 cmets 和答案...使用了一个不透明度较低的 TPanel 和一个 TAniIndicator(我也模糊了其他组件):
谢谢!
【问题讨论】:
-
使表单变暗(通过覆盖一些 alpha 混合矩形)并显示动画 GIF - 就像可以在 ajaxload.info 生成的那些 - 也许?
-
此外,如果在此期间不需要用户交互,您可以通过禁用控件并显示带有“请稍候...”之类消息的面板和动画 gif 之类的消息来使其更加明显mjn 建议,或进度条指示应用未冻结等。@mjn:+1 用于调光效果和 gif,触感很好
-
是的,这是有道理的...仅供参考,我使用了一个 TAniIndicator,它是一个看起来像任何 ajaxload 的组件 :o)
-
@Whiler:它看起来像 iPhone 上的 UIActivityIndicator 或 Mac 上的 NSActivityIndicator。
-
在 Delphi Classic 中执行此操作时,您应该将耗时的操作包装在
try块中,并将屏幕光标设置回finally部分。否则耗时活动中的异常使光标处于沙漏状态。
标签: delphi feedback delphi-xe2 firemonkey