Microsoft Visual C++ и MFC. Программирование для Win95 и WinNT



Панель состояния


Для управления панелью состояния используется класс CStatusBar. Чтобы создать для окна панель состояния следует выполнить следующие действия.

  • Создать объект класса CStatusBar. Он будет представлять панель состояния и управлять ей
  • Вызвать метод Create класса CStatusBar, чтобы создать панель и связать ее с объектом представляющим панель состояния
  • Вызвать метод SetIndicators класса CStatusBar, чтобы связать каждый индикатор панели состояния с идентификатором текстовой строки
  • MFC AppWizard автоматически добавляет к созданному им  приложению программный код, служащий для отображения панели состояния.

    Объект m_wndStatusBar класса CStatusBar определяется как элемент класса CMainFrame. Это вполне естественно, так как панель состояния принадлежит именно окну класса CMainFrame.

    protected:

          CStatusBar  m_wndStatusBar;

    Создание панели состояния и отображение ее на экране выполняется во время обработки метода OnCreate класса CMainFrame сразу после создания панели управления.

    Методы Create и SetIndicators, создающие панель, вызываются в одной строке.

    // Создаем панель status bar

    if (!m_wndStatusBar.Create(this)

          !m_wndStatusBar.SetIndicators(indicators,

                 sizeof(indicators)/sizeof(UINT)))

    {

          // Ошибка при создании панели состояния status bar

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

          return -1;

    }

    В качестве родительского окна панели состояния методу Create указано ключевое слово this. Таким образом, родительским окном панели состояния, также как и панели управления, является главное окно приложения, представленное объектом класса CMainFrame.

    Информация, которая должна отображаться в панели состояния, определяется идентификаторами, записанными в массиве. Каждый такой идентификатор представляет текстовую строку из таблицы ресурсов приложения.

    В нашем приложении массив indicators, описывающий панель состояния, определен в файле MainFrm.cpp непосредственно после таблицы сообщений.

    static UINT indicators[] =

    {

          ID_SEPARATOR,




    Содержание  Назад  Вперед