|
DelphiXE4 [FMX]プログレスバー(ProgressBar) 2015/04/11 |
前回は[Standard]内の「パスラベル(PathLabel)」について記述しましたので、今回は、同じく[Standard]内の「プログレスバー(ProgressBar)」について記述します。進捗状況を画面表示するためのコンポーネントです。
【Delphi2010の記事はこちら】
【DelphiXE3[VCLアプリケーション]の記事はこちら】
【DelphiXE3[FMXアプリケーション]の記事はこちら】
XE4(FMX)
FMX.StdCtrls.TProgressBar |
XE3(FMX)
FMX.Controls.TProgressBar |
| |
| |
ユニットが変わっていますが、オブジェクトインスペクタでは、プロパティ・イベント共に変わっていない様子です。
(ヘルプより)
Max
進捗バーの最大値を示します。TProgressBarコンポーネントをフォーム上に配置した時点では、Maxプロパティのデフォルト値は100に設定されています。 |
Min
進捗バーの最小値を示します。Minプロパティのデフォルト値は、0です。 |
Orientation
進捗バーの方向(orHorizontal または orVertical)を示します。 |
Value
進捗バーの現在の位置を示します。
Positionを読み込むことにより、進捗バーが追跡している処理は、MinからMaxに向かって、どの程度進んでいるのかを確認することができます。Positionを設定することにより、進捗バーを、MinとMaxの間の特定の位置に、表示させることができます。たとえば、進捗バーが追跡している処理が完了した際、PositionをMaxに設定して、進捗バーが完全に満たされた状態にすることができます。
進捗バーが作成された際、MinおよびMaxはそれぞれパーセンテージを表しており、Minは0(0%完了)、Maxは100(100%完了)となります。これらの値が変更されない場合、Positionは、すでに完了した処理のパーセンテージとなります。 |
※説明文は「Position」とありますが、これは「Value」の間違いですね。VCLアプリケーションの場合は「Position」でしたから説明文をそのままもってきて修正忘れ状態なのでしょう。 |
プログレスバー=進捗バーは、ある程度の時間の掛かる何らかの処理中に、プログラム利用者に「フリーズした?」「動いているのか止まっているのか分からない」と思われるのを防ぐために、画面上でちゃんと動いているということを示す、等の場合に利用されることが多いと思われます。ラベルを使って、カウンタ表示するというパターンもありますが、よりグラフィカルに表示出来ます。
たとえば、下図のように配置し、下記のようなプログラムコードを書きます。
procedure TForm1.FormShow(Sender: TObject);
begin
Timer1.Interval := 100 ;
Timer1.Enabled := True ;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
var
a : Single ;
begin
Timer1.Enabled := False ;
a := ProgressBar1.Value ;
a := a + 1 ;
if a <= ProgressBar1.Max then begin
ProgressBar1.Value := a ;
Timer1.Interval := 100 ;
Timer1.Enabled := True ;
end;
end; |
保存・コンパイル・実行すると、下図のようになります。
指定無し |
Air.Style |
Amakrits.Style |
AquaGraphite.style |
Blend.Style |
Dark.style |
GoldenGraphite.Style |
Light.Style |
RubyGraphite.style |
Transparent.Style |
MacOSX でも動作することが確認出来ます。
|
|
バッチファイル
BASIC
C言語のお勉強
拡張子な話
DOSプログラム
Delphi
>Delphi入門編
>Delphi2010
>DelphiXE3
>DelphiXE4
△TOP
▲2015/04/10
2015/04/11
▼2015/04/12
シェアウェア
Script!World
データベース
|