|
JunkBox_Win_Lib 1.5.3
|
再帰定義可能なプログレスバーカウンタ More...
#include "DLGBoxBase.h"

Go to the source code of this file.
Classes | |
| class | CProgressBarDLG |
Namespaces | |
| namespace | jbxwl |
Macros | |
| #define | PROGRESS_COUNTERMAX 3200 |
1.まず,関数内で使用するためのカウンタへのポインタを宣言する.
CProgressBarDLG* counter = NULL;
2.カウンタインスタンスの取得
1) カウンタを生成する.
counter = new CProgressBarDLG(IDD_PROGBAR);
or
2) または,どこか別の所で定義されたカウンタの目盛りの内,この関数内で自由に使用して
よい目盛りの範囲(領域,部分)を得る (チャイルドカウンタを得る)
counter = (CProgressBarDLG*)(CNT->GetUsableCounter());
CNTは何処か(例えば呼び出し側関数)で宣言されたカウンタ or 3) または,グローバルカウンタ(のチャイルドカウンタ)を使用する counter = GetUsableGlobalCounter(); ただし,グローバルカウンタはどこかで設定されていなければならない. 設定法 CProgressBarDLG* counter = new CProgressBarDLG(IDD_PROGBAR); SetGlobalCounter(counter);3.カウンタをスタートさせてプログレスバーを表示する. counter->Start(); or Start(m) m は SetMax(m) される. タイトルの設定は,スタート後でもOK. counter->SetTitle("タイトル");
4.今使えるカウンタ領域に,1〜200までの目盛りを設定 counter->SetMax(200);
5.200のうちの 1〜80までを 100でスケーリングし直す.ローカル目標は80(100)に設定. counter->ResetRate(80, 100);
6.カウンタを1つ(1/100)上げる.実際に表示される目盛りは,ローカル目標を超えることはない. counter->StepIt();
7.ローカル目標まで,目盛りの領域を埋める.ResetRate() の効果はここで終了 counter->PutFill();
8.チャイルドカウンタを作る場合(例). 1) 残り81〜100で,チャイルドカウンターを作る. counter->MakeChildCounter(20);
2) 関数を呼び出し,チャイルドカウンタの取り扱いは呼び出した関数に任せる 呼び出した関数の中で,再びチャイルドカウンタが有効領域として使用される 3) 呼び出した関数が終了したら,チャイルドカウンタを取り消し,親関数へカウンタを返す counter->DeleteChildCounter();
9. カウンタ使用の終了 1) 自分で作った場合は delete する. 2) 何処かで作られたカウンタの場合はそまま何もしない. 3) グローバルカウンタを本体を自分で作成した場合は,グローバルカウンタをクリアして deleteする.
Definition in file ProgressBarDLG.h.
| #define PROGRESS_COUNTERMAX 3200 |
Definition at line 106 of file ProgressBarDLG.h.
Referenced by CProgressBarDLG::CProgressBarDLG(), CProgressBarDLG::CProgressBarDLG(), and CProgressBarDLG::Start().