Return to Tech

MFC - ComCtrl::ProgressBar

MFCは
Win32 SDKレベルのプログラミング手法に
C++の概念を取り入れた
アプリケーションの作成を容易にするクラスライブラリ。
※Borland社コンパイラ付属の OWL:Object Window Libraryに相当。

プログレスバーの利用方法

ここでは、基本(コモン)コントロールのプログレスバーの利用方法について
記述します。

プログレスバーコントロール
リソースエディタにて、CProgressCtrlを追加
メンバ変数を登録することで利用可能となります。

以下実行イメージです。

プログレスバーコントロール実装方法
ビュークラスのヘッダーファイルに
メンバー変数が追加されていることを確認します。
file:FormViewView.h
public:
public CProgressCtrl m_Progress;

private:
 int counter; // プログレスバー試験用カウンタ値
 UINT m_Timer; // タイマー用
file:FormViewView.cpp
例 前例のボタンクリックの処理に以下のような記述を追加します。

void CFormViewView::OnClickedButton() {
 counter = 1;
 m_Progress.SetRange(0, 100);
 m_Progress.SetPos(counter);
 m_Progress.SetStep(1);

 m_Timer = SetTimer(1, 200, NULL);
}

void CFormViewView::OnTimer(UINT_PTR nIDEvent) {
 if(counter > 0) {
  counter++;

  m_Progress.SetPos(counter);

  if(counter > 100) {
   counter = 1;
   m_Progress.SetPos(counter);
  }
 }
 CFormView::OnTimer(nIDEvent);
}

void CFormViewView::OnDestroy() {
 CFormView::OnDestroy();

 KillTimer(m_Timer);
}

Return to Tech