|
DelphiXE3 [FMX]プログレスバー(ProgressBar) 2013/10/02 |
前頁で[Standard]内の「PathLabel」(パスラベル)について書きましたので次は、同じく[Standard]内の「ProgressBar」(プログレスバー;進捗バー)です。
【Delphi2010の記事はこちら】
【DelphiXE3[VCLアプリケーション]の記事はこちら】
|
(ヘルプより)
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」を指定した場合です。
|
|
バッチファイル
BASIC
C言語のお勉強
拡張子な話
DOSプログラム
Delphi
>Delphi入門編
>Delphi2010
>DelphiXE3
▲2013/10/01
2013/10/02
▼2013/10/02
シェアウェア
Script!World
データベース
|