С Firemonkey, как дать отзыв пользователю? (CrHourglass) - PullRequest
6 голосов
/ 15 сентября 2011

Обычно, когда у меня есть задача, которая занимает некоторое время, я использую такой скрипт:

procedure Work;
var
  cPrevious: TCursor;
begin
  cPrevious     := Screen.Cursor;
  Screen.Cursor := crHourGlass;

  try    
  // the task

  finally    
    Screen.Cursor := cPrevious;
  end;
end;

В FireMonkey Экран не имеет свойства: Курсор .

Как лучше всего дать отзыв пользователю?



Я следовал за комментариями и ответом ... с помощью TPanel с меньшей непрозрачностью и TAniIndicator (я также размываю другие компоненты):

Feedback

Спасибо!

Ответы [ 3 ]

1 голос
/ 16 сентября 2011

FireMonkey TScreen не имеет свойства Cursor, но глобальный экземпляр платформы имеет метод SetCursor:

использование FMX.Platform, System.UITypes;

... Platform.SetCursor (ноль, crHourGlass); пытаться ... в конце концов Platform.SetCursor (ноль, crDefault); конец;

1 голос
/ 12 октября 2012

Это работает для меня на XE3, FireMonkey2 работает на XP:

`Application.MainForm.Cursor:= crHourGlass;`
1 голос
/ 15 сентября 2011

Как указывал @mjn, часовой указатель стекла больше не является единственным шаблоном ожидания, который вы можете использовать.

Например, в Silverlight / WPF вы можете использовать элемент управления индикатором занятости, http://www.codeproject.com/KB/silverlight/SilverlightBusyIndicator.aspx

Так что вы можете попробовать сделать что-то подобное внутри FireMonkey. Возможно, вы уже используете аналогичный элемент управления или можете написать свой собственный.

...