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
//============================================================
Поделиться:
Популярные книги
Обнять космос
2. МиГера
Фантастика:
боевая фантастика
космическая фантастика
5.00
рейтинг книги
Мастер 4
4. Мастер
Фантастика:
героическая фантастика
боевая фантастика
попаданцы
5.00
рейтинг книги
#Бояръ-Аниме. Газлайтер. Том 13
13. История Телепата
Фантастика:
боевая фантастика
аниме
попаданцы
фэнтези
5.00
рейтинг книги
Князь Андер Арес 5
5. Андер Арес
Фантастика:
историческое фэнтези
фэнтези
героическая фантастика
5.00
рейтинг книги
Катриона
Приключения:
исторические приключения
8.62
рейтинг книги
Хранилище
5. Лесовик
Фантастика:
фэнтези
рпг
7.43
рейтинг книги
Лекарь Империи 3
3. Лекарь Империи
Фантастика:
городское фэнтези
аниме
дорама
фэнтези
попаданцы
5.00
рейтинг книги
Убивать чтобы жить 2
2. УЧЖ
Фантастика:
героическая фантастика
боевая фантастика
рпг
5.00
рейтинг книги
Убивая маску
13. Унесенный ветром
Фантастика:
боевая фантастика
5.75
рейтинг книги
Прапорщик. Назад в СССР. Книга 7
7. Второй шанс
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Русская драматургия XVIII – XIX вв. (Сборник)
Поэзия:
драматургия
6.25
рейтинг книги
Сильнейший Столп Империи. Книга 2
2. Сильнейший Столп Империи
Фантастика:
аниме
фэнтези
фантастика: прочее
попаданцы
5.00
рейтинг книги
Рассвет русского царства 3
3. Новая Русь
Фантастика:
историческое фэнтези
альтернативная история
5.00
рейтинг книги
Поводырь
3. Ботаник
Фантастика:
фэнтези
6.17