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().