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

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

Жанры

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

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

Свадьба по приказу, или Моя непокорная княжна

Чернованова Валерия Михайловна
Любовные романы:
любовно-фантастические романы
5.57
рейтинг книги
Свадьба по приказу, или Моя непокорная княжна

Сборник коротких эротических рассказов

Коллектив авторов
Любовные романы:
эро литература
love action
7.25
рейтинг книги
Сборник коротких эротических рассказов

Отец моего жениха

Салах Алайна
Любовные романы:
современные любовные романы
7.79
рейтинг книги
Отец моего жениха

Вадбольский

Никитин Юрий Александрович
1. Вадбольский
Фантастика:
попаданцы
5.00
рейтинг книги
Вадбольский

Бастард Императора. Том 7

Орлов Андрей Юрьевич
7. Бастард Императора
Фантастика:
городское фэнтези
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Бастард Императора. Том 7

Повелитель механического легиона. Том VIII

Лисицин Евгений
8. Повелитель механического легиона
Фантастика:
технофэнтези
аниме
фэнтези
5.00
рейтинг книги
Повелитель механического легиона. Том VIII

В зоне особого внимания

Иванов Дмитрий
12. Девяностые
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
В зоне особого внимания

Таня Гроттер и магический контрабас

Емец Дмитрий Александрович
1. Таня Гроттер
Фантастика:
фэнтези
8.52
рейтинг книги
Таня Гроттер и магический контрабас

Бастард Императора. Том 2

Орлов Андрей Юрьевич
2. Бастард Императора
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Бастард Императора. Том 2

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

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

Третий

INDIGO
Фантастика:
космическая фантастика
попаданцы
5.00
рейтинг книги
Третий

Возвышение Меркурия. Книга 16

Кронос Александр
16. Меркурий
Фантастика:
попаданцы
аниме
5.00
рейтинг книги
Возвышение Меркурия. Книга 16

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

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

Потусторонний. Книга 1

Погуляй Юрий Александрович
1. Господин Артемьев
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Потусторонний. Книга 1