// Обрабатывает сообщение ON_UPDATE_COMMAND_UI
// от индикатора ID_INDICATOR_TEXT
//============================================================
void CStateWindow::OnUpdateTEXT(CCmdUI* pCmdUI) {
// В зависимости от состояния флага bIndicatorTEXT
// отображаем в индикаторе ID_INDICATOR_TEXT
// строку TEXT или PIC
if (bIndicatorTEXT) pCmdUI->SetText("TEXT"); // отображаем строку TEXT
else pCmdUI->SetText("PIC"); // отображаем строку PIC
// Разрешаем отображение текста в индикаторе
pCmdUI->Enable;
}
Создайте новый файл ресурсов и включите его в проект под именем Status.rc. Включите в него меню, присвоив ему идентификатор IDR_MENU. Введите строки меню IDR_MENU в соответствии с представленным нами файлом ресурсов (листинг 3.14). Для всех строк меню введите их описания. Они будут записаны в файл ресурсов как строковые ресурсы, имеющие одинаковые идентификаторы со строками меню.
Добавьте в файл ресурсов строку Ready, выбрав для нее идентификатор AFX_IDS_IDLEMESSAGE. Эта строка будет отображаться в панели состояния во время “бездействия” приложения.
Добавьте в файл ресурсов строки, представляющие индикаторы панели состояния: ID_INDICATOR_ADD, ID_INDICATOR_PROGRESS и ID_INDICATOR_TEXT.
//Microsoft Developer Studio generated resource script.
//
#include "resource.h"
#define APSTUDIO_READONLY_SYMBOLS
//////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 2 resource.
//
#include "afxres.h"
//////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS
//////////////////////////////////////////////////////////////
// Russian resources
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_RUS)
#ifdef _WIN32
LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
#pragma code_page(1251)
#endif //_WIN32
#ifdef APSTUDIO_INVOKED
//////////////////////////////////////////////////////////////
//
// TEXTINCLUDE
//
1 TEXTINCLUDE DISCARDABLE
BEGIN
"resource.h\0"
END
2 TEXTINCLUDE DISCARDABLE
BEGIN
"#include ""afxres.h""\r\n"
"\0"
END
3 TEXTINCLUDE DISCARDABLE
BEGIN
"\r\n"
"\0"
END
#endif // APSTUDIO_INVOKED
//////////////////////////////////////////////////////////////
//
// Menu
//
IDR_MENU MENU DISCARDABLE
BEGIN
POPUP "Work"
BEGIN
MENUITEM "Process", ID_WORK_PROCESS
MENUITEM "Direct set ADD", ID_WORK_DIRECT_ADD
MENUITEM "Direct set SUB", ID_WORK_DIRECT_SUB
MENUITEM "Disable ADD SUB", ID_WORK_DISABLE_ADDSUB
MENUITEM "Switch TEXT", ID_WORK_ON_SWITCH_TEXT
MENUITEM SEPARATOR
MENUITEM "Exit", ID_WORK_EXIT
END
END
//////////////////////////////////////////////////////////////
//
// String Table
//
STRINGTABLE DISCARDABLE
BEGIN
ID_INDICATOR_ADD "START"
END
STRINGTABLE DISCARDABLE
BEGIN
ID_INDICATOR_PROGRESS "neve display"
ID_INDICATOR_TEXT "TEXT"
END
STRINGTABLE DISCARDABLE
BEGIN
ID_WORK_PROCESS "Display and play progress bar"
ID_WORK_DIRECT_ADD "Set indicator ID_INDICATOR_ADD to ADD"