Чтение онлайн

на главную - закладки

Жанры

Microsoft Visual C++ и MFC. Программирование для Windows 95 и Windows NT. Часть 2

Фролов Григорий Вячеславович

Шрифт:

 // от индикатора ID_INDICATOR_TEXT

 afx_msg void OnUpdateTEXT(CCmdUI* pCmdUI);

 // Макрокоманда необходима, так как класс

 // CStateWindow обрабатывает сообщения

 DECLARE_MESSAGE_MAP

};

//============================================================

// Таблица сообщений класса CStateWindow

//============================================================

BEGIN_MESSAGE_MAP(CStateWindow, CFrameWnd)

 // Макрокоманда вызывает метод OnCreate

 ON_WM_CREATE

 // Обработчик сообщения ON_UPDATE_COMMAND_UI

 ON_UPDATE_COMMAND_UI(ID_INDICATOR_TEXT, OnUpdateTEXT)

 // Обработчики команд меню Work

 ON_COMMAND(ID_WORK_PROCESS, OnMenuProcessBar)

 ON_COMMAND(ID_WORK_DISABLE_ADDSUB, OnMenuDisableADD_SUB)

 ON_COMMAND(ID_WORK_ON_SWITCH_TEXT, OnMenuSwitchTEXT)

 ON_COMMAND_EX(ID_WORK_DIRECT_ADD, OnMenuDirectADD_SUB)

 ON_COMMAND_EX(ID_WORK_DIRECT_SUB, OnMenuDirectADD_SUB) 

 ON_COMMAND(ID_WORK_EXIT, OnMenuExit)

END_MESSAGE_MAP

//============================================================

// Индикаторы панели управления. Порядок идентификаторов

// соответствует порядку индикаторов в панели состояния

// (до тех пор, пока он не изменен методом SetPaneInfo)

//============================================================

static UINT indicators[] = {

 ID_SEPARATOR, // Самый первый индикатор

 ID_INDICATOR_OVR, // Индикатор OVR

 ID_INDICATOR_PROGRESS, // Резервирование места для

// progress bar

 ID_INDICATOR_CAPS, // Индикатор клавиши <Caps Lock>

 ID_INDICATOR_NUM, // Индикатор клавиши <Num Lock>

 ID_INDICATOR_SCRL, // Индикатор клавиши <Scroll Lock>

 ID_INDICATOR_TEXT, // Индикатор TEXT/PIC

 ID_INDICATOR_ADD, // Индикатор ADD/SUB (начальное

// состояние START)

};

//============================================================

// Метод InitInstance класса CStateApp

// Создает главное окно приложения и отображает его на экране

//============================================================

BOOL CStateApp::InitInstance {

 m_pMainWnd = new CStateWindow;

 m_pMainWnd->ShowWindow(m_nCmdShow);

 m_pMainWnd->UpdateWindow;

 return TRUE;

}

//============================================================

// Конструктор класса CStateWindow

//============================================================

CStateWindow::CStateWindow {

 // Создаем окно приложения, соответствующее

 // данному объекту класса CStateWindow

 Create(NULL, "Status Bar Sample", WS_OVERLAPPEDWINDOW, rectDefault, NULL, MAKEINTRESOURCE(IDR_MENU));

 // Устанавливаем значение флага bIndicatorTEXT

 bIndicatorTEXT = TRUE;

}

//============================================================

// Метод OnMenuProcessBar класса CStateWindow

//============================================================

void CStateWindow::OnMenuProcessBar {

 // Определяем координаты индикатора ID_INDICATOR_PROGRESS

 RECT rectProgress;

 m_wndStatusBar.GetItemRect(m_wndStatusBar.CommandToIndex(ID_INDICATOR_PROGRESS), &rectProgress);

 // Создаем полосу progress bar. Размещаем ее

 // на месте индикатора ID_INDICATOR_PROGRESS

 CProgressCtrl ctrlProgressBar;

 if (!ctrlProgressBar.Create(WS_CHILD | WS_VISIBLE, rectProgress, &m_wndStatusBar, 1)) {

// Ошибка при создании progress bar

TRACE0("Failed to create progress bar\n");

return;

 }

 // Устанавливаем границы для progress bar

 ctrlProgressBar.SetRange(0, 100);

 // Устанавливаем шаг приращения для progress bar

 ctrlProgressBar.SetStep(1);

 // Плавно увеличиваем положение progress bar

 for (int i=0; i<100; i++) {

// Выполняем короткую задержку

Sleep(10);

// Выполняем шаг приращения progress bar

Поделиться:
Популярные книги

Кодекс Крови. Книга ХI

Борзых М.
11. РОС: Кодекс Крови
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Кодекс Крови. Книга ХI

Каратила

Поповский Андрей Владимирович
Детективы:
боевики
6.50
рейтинг книги
Каратила

Чужак из ниоткуда

Евтушенко Алексей Анатольевич
1. Чужак из ниоткуда
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Чужак из ниоткуда

Геном хищника. Книга девятая

Гарцевич Евгений Александрович
9. Я - Легенда!
Фантастика:
боевая фантастика
рпг
попаданцы
5.50
рейтинг книги
Геном хищника. Книга девятая

Маска Цирцеи (сборник)

Каттнер Генри
Фантастика:
научная фантастика
6.25
рейтинг книги
Маска Цирцеи (сборник)

В теле пацана 6

Павлов Игорь Васильевич
6. Великое плато Вита
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
В теле пацана 6

Идеальный мир для Лекаря 28

Сапфир Олег
28. Лекарь
Фантастика:
юмористическое фэнтези
аниме
фэнтези
5.00
рейтинг книги
Идеальный мир для Лекаря 28

S-T-I-K-S. Пройти через туман

Елисеев Алексей Станиславович
Вселенная S-T-I-K-S
Фантастика:
боевая фантастика
7.00
рейтинг книги
S-T-I-K-S. Пройти через туман

Резонанс Ци. Дилогия

Орлов Андрей Юрьевич
Резонанс Ци
Фантастика:
постапокалипсис
рпг
уся
фэнтези
фантастика: прочее
попаданцы
5.00
рейтинг книги
Резонанс Ци. Дилогия

Бродяга

Первухин Андрей Евгеньевич
1. Бродяга
Фантастика:
попаданцы
5.40
рейтинг книги
Бродяга

Кодекс Охотника. Книга X

Винокуров Юрий
10. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
6.25
рейтинг книги
Кодекс Охотника. Книга X

Меч мертвых

Семёнова Мария Васильевна
Фантастика:
фэнтези
историческое фэнтези
8.28
рейтинг книги
Меч мертвых

Воронцов. Перезагрузка. Книга 5

Тарасов Ник
5. Воронцов. Перезагрузка
Фантастика:
попаданцы
альтернативная история
фэнтези
фантастика: прочее
6.00
рейтинг книги
Воронцов. Перезагрузка. Книга 5

Чехов книга 3

Гоблин (MeXXanik)
3. Адвокат Чехов
Фантастика:
попаданцы
альтернативная история
аниме
6.00
рейтинг книги
Чехов книга 3