Microsoft Visual C++ и MFC. Программирование для Windows 95 и Windows NT. Часть 2
Шрифт:
ctrlProgressBar.StepIt;
}
// По завершении, отображаем текст в самом первом
// индикаторе панели состояния
m_wndStatusBar.SetWindowText("Process completed");
}
//============================================================
// Метод OnMenuDirectADD_SUB класса CStateWindow
//============================================================
BOOL CStateWindow::OnMenuDirectADD_SUB(UINT nID) {
//
Определяем индекс индикатора ID_INDICATOR_ADD
int nIndex = m_wndStatusBar.CommandToIndex(ID_INDICATOR_ADD);
// Устанавливаем нормальный режим отображения индикатора
m_wndStatusBar.SetPaneStyle(nIndex, SBPS_NORMAL);
// Из меню Work выбрана строка Direct set ADD
if (nID == ID_WORK_DIRECT_ADD) {
// Выводим текст ADD
m_wndStatusBar.SetPaneText(nIndex, "ADD");
}
// Из меню Work выбрана строка Direct set SUB
else if(nID == ID_WORK_DIRECT_SUB) {
// Изменяем внешний вид индикатора
m_wndStatusBar.SetPaneStyle(nIndex, SBPS_POPOUT);
// Выводим текст SUB
m_wndStatusBar.SetPaneText(nIndex, "SUB");
}
return TRUE;
}
//============================================================
// Метод OnMenuDisableADD_SUB класса OnMenuDisableADD_SUB
//============================================================
void CStateWindow::OnMenuDisableADD_SUB {
// Определяем индекс индикатора ID_INDICATOR_ADD
int nIndex = m_wndStatusBar.CommandToIndex(ID_INDICATOR_ADD);
// Блокируем индикатор
m_wndStatusBar.SetPaneStyle(nIndex, SBPS_DISABLED);
}
//============================================================
// Метод OnUpdateTEXT класса CStateWindow
//============================================================
void CStateWindow::OnMenuSwitchTEXT {
// Изменяем состояние флага bIndicatorTEXT,
// который используется методом OnUpdateTEXT
bIndicatorTEXT = !bIndicatorTEXT;
}
//============================================================
//
Метод OnMenuExit класса CStateWindow
//============================================================
void CStateWindow::OnMenuExit {
// Завершаем приложение
DestroyWindow;
return;
}
//============================================================
// Метод OnCreate класса CStateWindow
// Вызывается во время создания окна приложения
//============================================================
int CStateWindow::OnCreate(LPCREATESTRUCT lpCreateStruct) {
// Вызываем метод OnCreate базового класса
if (CFrameWnd::OnCreate(lpCreateStruct) == -1) return -1;
// Создаем панель состояния
if (!m_wndStatusBar.Create(this)) {
// Ошибка при создании панели состояния
TRACE0("Failed to create status bar\n");
return -1;
}
// Отображаем индикаторы панели состояния
if (!m_wndStatusBar.SetIndicators(indicators, sizeof(indicators)/sizeof(UINT))) {
// Ошибка при установке индикаторов
TRACE0("Failed to set indicators\n");
return -1;
}
// Устанавливаем характеристики индикатора
// ID_INDICATOR_PROGRESS
m_wndStatusBar.SetPaneInfo(m_wndStatusBar.CommandToIndex(ID_INDICATOR_PROGRESS), ID_INDICATOR_PROGRESS,
SBPS_DISABLED | // Текст не отображается
SBPS_NOBORDERS, // Рамка вокруг индикатора отсутствует
150); // Ширина индикатора 150 пикселов
return 0;
}
//============================================================
// Метод OnUpdateTEXT класса CStateWindow
// Обрабатывает сообщение ON_UPDATE_COMMAND_UI
// от индикатора ID_INDICATOR_TEXT
//============================================================
Поделиться:
Популярные книги
Свадьба по приказу, или Моя непокорная княжна
Любовные романы:
любовно-фантастические романы
5.57
рейтинг книги
Сборник коротких эротических рассказов
Любовные романы:
эро литература
love action
7.25
рейтинг книги
Отец моего жениха
Любовные романы:
современные любовные романы
7.79
рейтинг книги
Вадбольский
1. Вадбольский
Фантастика:
попаданцы
5.00
рейтинг книги
Бастард Императора. Том 7
7. Бастард Императора
Фантастика:
городское фэнтези
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Повелитель механического легиона. Том VIII
8. Повелитель механического легиона
Фантастика:
технофэнтези
аниме
фэнтези
5.00
рейтинг книги
В зоне особого внимания
12. Девяностые
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Таня Гроттер и магический контрабас
1. Таня Гроттер
Фантастика:
фэнтези
8.52
рейтинг книги
Бастард Императора. Том 2
2. Бастард Императора
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Крови. Книга ХI
11. РОС: Кодекс Крови
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Третий
Фантастика:
космическая фантастика
попаданцы
5.00
рейтинг книги
Возвышение Меркурия. Книга 16
16. Меркурий
Фантастика:
попаданцы
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 9
9. Лекарь
Фантастика:
боевая фантастика
юмористическое фэнтези
6.00
рейтинг книги
Потусторонний. Книга 1
1. Господин Артемьев
Фантастика:
фэнтези
попаданцы
5.00