Научно-исследовательская лаборатория систем ЧПУ |
||||||||||||
|
||||||||||||
|
Класс CScurryProgressCtrlАвторы: Мартинов Г. М.
|
ПРИМЕЧАНИЕ Класс написан с помощью MSVC 6.0 с использованием библиотеки MFC и может быть использован только в MFC проектах на языке C++. |
Диаграмма классов, приведенная на рис. 2, иллюстрирует реализацию класса CScurryProgressCtrl.
Чтобы воспользоваться классом CScurryProgressCtrl, в первую очередь, необходимо включить в проект заголовочный файл cscurryprogressctrl.h и файл scurryprogressctrl.lib для компоновки. Необходимо также, чтобы файл scurryprogressctrl.dll находился в каталоге с приложением.
Для использования класса CScurryProgressCtrl в своем приложении нужно проделать следующие шаги:
1. Добавить в класс диалога (или другого окна содержащего индикатор) объект класса CScurryProgressCtrl.
class CScurryProgressCtrlDemoDlg : public CDialog { private: // ... CScurryProgressCtrl m_progress; // ... }; |
2. Создать и расположить прогресс-бар в заданной области. Это сделано в функции OnInitDialog(). В ресурсе диалогового окна создан элемент-заглушка (например, рамка для текста). Замена элемента-заглушки на объект класса CScurryProgressCtrl осуществляется, как показано ниже:
BOOL CScurryProgressCtrlDemoDlg::OnInitDialog() { // ... //------- Scurry progress control init ------------------------------- CWnd *pFrame=GetDlgItem(IDC_SCURRYPROGRESSCTRL); CRect rcWnd; pFrame->GetWindowRect(rcWnd); pFrame->DestroyWindow(); ScreenToClient(rcWnd); m_progress.Create(WS_CHILD|WS_VISIBLE|WS_CLIPCHILDREN|WS_CLIPSIBLINGS, rcWnd, this, IDC_SCURRYPROGRESSCTRL); // ... } |
int m_nElapse
|
Время полного заполнения прогресс-бара в 10мс интервалах.
void Run ()
|
Запуск прогресс-бара.
void Stop ()
|
Остановка прогресс-бара.
void SetProgressBarColor (COLORREF color, BOOL bForeColor)
|
Установка цвета фона и переднего плана.
Параметры:
color - цвет, который необходимо установить для фона или переднего плана. Для задания цвета необходимо использовать RGB() макрос.
bForeColor - если TRUE, то задается фон переднего плана, иначе - фона.
Также CScurryProgressCtrl посылает родительскому окну событие WM_NOTIFY в случае нажатия кнопки мыши на контроле. При этом используются следующие идентификаторы событий:
NM_MOUSE_BUTTON_UP - нажатие кнопки мыши,
NM_MOUSE_BUTTON_DOWN - отпускание кнопки мыши,
NM_MOUSE_BUTTON_DBLCLK - двойной щелчок мышью.
Лаборатория систем ЧПУ МГТУ "Станкин" © 2002-2024
Россия, Москва, Вадковский переулок, д. 3а Телефон: +7 (499) 972-9440 Факс: +7 (499) 972-1873 |