http://tikitak.narod.ru ---- Главная страница сайта
Шаг 51 - Что такое CProgressCtrl
Создание проекта
Работаем со старым. Только на диалоговую панель необходимо поместить элемент управления - индикатор выполнения. Как внизу.
Создание кода
Включение описание класса
#include "afxcmn.h"
Описание класса в классе окна диалога, и организация обмена данными
class CTestDlg : public CDialog
{
private:
.......
CProgressCtrl cProgress;
.............
};
Реализация обмена данного элемента управления с классом
void CTestDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Control(pDX, IDC_PROGRESS1, cProgress);
}
Реакция нажатия на кнопку
void CTestDlg::OnSend()
{
cProgress.SetRange(0,10);
cProgress.SetPos(0);
for (int x=0;x<=10;x++)
{
cProgress.SetPos(x);
Sleep(50);
}
}
Описание
Как и в предыдущем примере описание в классе диалогового окна, настройка DDX.
Нас больше интересует процедура нажатия на кнопку. Функция SetRange устанавливает диапазон значений индикаторов состояния. Первое число минимум, второе максимум. Не перепутайте. SetPos устанавливает позицию индикатора. Мы его ставим в ноль для начала. Запускаем цикл.
В цикле для реализации задержки индикатора используем функцию Sleep. Вот её описание. В параметры передается задержка в размерности миллисекунды.
VOID Sleep( DWORD dwMilliseconds);
Запускайте. У вас побежит индикатор состояния. Если быстро, увеличьте число в функции Sleep.
Предыдущий Шаг | Следующий Шаг | Оглавление By Artem.
Используются технологии uCoz
|