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

Панель управления


Класс CToolBar представляет панель управления toolbar. Обычно панель управления содержит несколько кнопок и разделителей между ними. Для панели управления определен специальный ресурс типа Toolbar.

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

  • Создать ресурс, описывающий панель toolbar
  • Создать объект класса CToolBar. Он будет представлять панель управления
  • Вызвать метод Create класса CToolBar, чтобы создать панель и связать ее с объектом представляющим панель управления
  • Вызвать метод LoadToolBar класса CToolBar. Он загрузит ресурс диалоговой панели и завершит построение панели управления
  • Чтобы облегчить вам работу, MFC AppWizard создает для приложения и панель управления и панель состояния. Для этого он включает в состав ресурсов приложения ресурс, описывающий панель управления. В нашем приложении определен только один такой ресурс, имеющий идентификатор IDR_MAINFRAME.

    Объект m_wndToolBar класса CToolBar для управления этой панелью определяется в классе CMainFrame. Этот объект объявлен как protected, поэтому обращаться к нему можно только из класса главного окна приложения CMainFrame.

    protected:

          CToolBar m_wndToolBar;

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

    if (!m_wndToolBar.Create(this)

          !m_wndToolBar.LoadToolBar(IDR_MAINFRAME))

    {

          // Ошибка при создании панели управления toolbar

          TRACE0("Failed to create toolbar\n");

          return -1;

    }

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

    После создания панели управления сразу вызывается метод LoadToolBar, загружающий ресурс панели управления IDR_MAINFRAME. Если хотя бы один метод - Create или LoadToolBar, завершится с ошибкой, метод OnCreate класса CMainFrame возвращает -1.



    Содержание раздела