7

通常、時間がかかるタスクがある場合は、次のようなスクリプトを使用します。

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

  try    
  // the task

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

FireMonkeyでは、Screenに次のプロパティはありません:Cursor

ユーザーにフィードバックを提供するための最良の方法は何ですか?



コメントと回答に従いました...不透明度の低いTPanelとTAniIndicator(他のコンポーネントもぼかします)を使用しました。

フィードバック

ありがとうございました!

4

3 に答える 3

1

FireMonkey TScreenにはCursorプロパティはありませんが、グローバルプラットフォームインスタンスにはSetCursorメソッドがあります。

FMX.Platform、System.UITypesを使用します。

... Platform.SetCursor(nil、crHourGlass); 試してください...最後にPlatform.SetCursor(nil、crDefault); 終わり;

于 2011-09-16T15:38:51.820 に答える
1

@mjnが指摘したように、ガラスアワーカーソルはもはや利用できる唯一の待機パターンではありません。

たとえば、Silverlight / WPFでは、ビジーインジケーターコントロール( http://www.codeproject.com/KB/silverlight/SilverlightBusyIndi ​​cator.aspx)を使用できます。

したがって、FireMonkey内で同様のことを試みることができます。すでに使用している同様のコントロールがある場合もあれば、独自のコントロールを作成する場合もあります。

更新:TAniIndicatorは使用するコンポーネントです

于 2011-09-15T07:36:35.553 に答える
1

これは、XPで実行されているXE3、FireMonkey2で機能します。

`Application.MainForm.Cursor:= crHourGlass;`
于 2012-10-12T10:17:38.590 に答える