Mfc-progress-control
MFC-進捗管理
プログレスバーコントロール*は、アプリケーションが長時間の操作の進行状況を示すために使用できるウィンドウです。 これは、左から右に徐々に塗りつぶされる長方形で構成され、操作の進行に合わせてシステムのハイライトカラーが表示されます。 *CProgressCtrl クラスで表されます。
これがCProgressCtrlクラスのメソッドのリストです-
Sr.No. | Name & Description |
---|---|
1 |
Create プログレスバーコントロールを作成し、CProgressCtrlオブジェクトに添付します。 |
2 |
CreateEx 指定されたWindows拡張スタイルでプログレスコントロールを作成し、CProgressCtrlオブジェクトに添付します。 |
3 |
GetBarColor 現在の進行状況バーコントロールの進行状況インジケーターバーの色を取得します。 |
4 |
GetBkColor 現在の進行状況バーの背景色を取得します。 |
5 |
GetPos プログレスバーの現在の位置を取得します。 |
6 |
GetRange プログレスバーコントロールの範囲の下限と上限を取得します。 |
7 |
GetState 現在の進行状況バーコントロールの状態を取得します。 |
8 |
GetStep 現在のプログレスバーコントロールのプログレスバーのステップの増分を取得します。 |
9 |
OffsetPos プログレスバーコントロールの現在の位置を指定された増分で進め、バーを再描画して新しい位置を反映します。 |
10 |
SetBarColor 現在の進行状況バーコントロールの進行状況インジケーターバーの色を設定します。 |
11 |
SetBkColor 進行状況バーの背景色を設定します。 |
12 |
SetMarquee 現在のプログレスバーコントロールのマーキーモードをオンまたはオフにします。 |
13 |
SetPos 進行状況バーコントロールの現在の位置を設定し、新しい位置を反映するようにバーを再描画します。 |
14 |
SetRange プログレスバーコントロールの最小および最大範囲を設定し、新しい範囲を反映するようにバーを再描画します。 |
15 |
SetState 現在の進行状況バーコントロールの状態を設定します。 |
16 |
SetStep プログレスバーコントロールのステップの増分を指定します。 |
17 |
StepIt プログレスバーコントロールの現在の位置をステップ単位で進め(SetStepを参照)、新しい位置を反映するようにバーを再描画します。 |
新しいMFCアプリケーションを作成しましょう。
- ステップ1 *-テキストコントロールのIDをに変更し、キャプションを削除します。
- ステップ2 *-ツールボックスからProgress Controlをドラッグします。
- ステップ3 *-静的テキストコントロールの値変数を追加します。
- ステップ4 *-プログレスコントロールのコントロール変数を追加します。
- ステップ5 *-OnInitDialog()の実装です
BOOL CMFCProgressControlDlg::OnInitDialog() {
CDialogEx::OnInitDialog();
//Add "About..." menu item to system menu.
//IDM_ABOUTBOX must be in the system command range.
ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
ASSERT(IDM_ABOUTBOX < 0xF000);
CMenu* pSysMenu = GetSystemMenu(FALSE);
if (pSysMenu != NULL) {
BOOL bNameValid;
CString strAboutMenu;
bNameValid = strAboutMenu.LoadString(IDS_ABOUTBOX);
ASSERT(bNameValid);
if (!strAboutMenu.IsEmpty()) {
pSysMenu -> AppendMenu(MF_SEPARATOR);
pSysMenu -> AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
}
}
//Set the icon for this dialog. The framework does this automatically
//when the application's main window is not a dialog
SetIcon(m_hIcon, TRUE); //Set big icon
SetIcon(m_hIcon, FALSE); //Set small icon
//TODO: Add extra initialization here
m_progCtrl.SetRange(0,100);
for (int i = 0; i <= 100; i++) {
m_progCtrl.SetPos(i);
}
return TRUE;//return TRUE unless you set the focus to a control
}
- ステップ6 *-上記のコードをコンパイルして実行すると、次の出力が表示されます。