ホーム
|
アプリケーション | Tips | ダウンロード | プログラム
| コラム

CBアプリ工房


Tips >   

ProgressBar の進捗状況を表示する 

更新 : 2009/12/17

 



解説:
ProgressBar コンポーネントはインストールやデータの読み込みなど、何かの処理の進み具合を表示するのによく使われます(使用例:Plus, Minus)。
処理が長い場合、コンピュータが動いているのか止まっているのか心配になる時があります。進捗状況をユーザーに示すことで親切で分かりやすいソフトになります。
時間がかかるような処理をする場合、必要に応じて ProgressBar コンポーネントを使うようにするといいでしょう。

※ProgressBar と同じようなコンポーネントに CGauge があります。比較して動きを見ておくと良いでしょう。

使用例:
以下の例では、何かの処理を想定して進捗状況を ProgressBar に表示させています。
流れとしては ProgressBar の上限や下限の範囲、増加量などを設定しておき、処理するごとにカウントを表示し、指定した量だけ Position を進めます。すべての処理が済んだら "終了"のメッセージを表示します。

準備として ProgressBar と Label、Button を適当に配置してください。

Button をクリックすると ProgressBar が処理の進み具合を表示します。

//-------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
    ProgressBar1->Min = 0;      //位置の範囲の下限
    ProgressBar1->Max = 500;  //位置の範囲の上限
    ProgressBar1->Position = 0;//プログレスバーの現在位置
    ProgressBar1->Step = 1;     //Position の増加量

    for(int i = 0; i < 500; i++){
        //カウント表示
        Label1->Caption = IntToStr(i+1);

        for (int k = 0; k < 90000; k++){
            //何らかの処理
            Application->ProcessMessages();
        }
        //指定した量だけ Position を進める
        ProgressBar1->StepIt();
    }
    ShowMessage("終了");
}
//-------------------------------------------------------------------



[ ホーム | ページトップ | ブック | リンク | サイトマップ ]
Copyright(c) 2003 Shibu All rights reserved.