Поделиться через


Принципы панели инструментов

В этой статье описывается базовая реализация MFC, которая позволяет добавлять по умолчанию панель инструментов в приложение, выбрав параметр в мастере приложений.В разделе рассматриваются следующие вопросы:

  • Параметр панели инструментов мастера приложений

  • Панель инструментов в коде

  • Редактирование ресурс панели инструментов

  • Несколько панелей инструментов

Параметр панели инструментов мастера приложений

Чтобы получить единую панель инструментов, кнопку по умолчанию, выберите стандартный параметр на панели инструментов закрепления надписью странице функциями пользовательского интерфейса.Это добавляет код в приложение:

  • Создает объект панели инструментов.

  • Управляет панель инструментов, включая его возможность закрепить или плыть.

Панель инструментов в коде

Панель инструментов объект CToolBar, объявленный как члена данных класса CMainFrame приложения.Иначе говоря, объект панели инструментов внедрен в объекте окна главного фрейма.Это означает, что MFC создает панель инструментов, когда он создает окно фрейма и уничтожает панель инструментов, когда он уничтожает окно фрейма.Следующее объявление разделяемого класса для приложения интерфейса MDI отображаются элементы данных для встроенной панели инструментов и внедренной строки состояния.В нем также показано переопределение OnCreate функции-члена.

class CMainFrame : public CMDIFrameWnd
{
// Implementation
protected:  // control bar embedded members
   CStatusBar  m_wndStatusBar;
   CToolBar    m_wndToolBar;

// Generated message map functions
protected:
   afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
   DECLARE_MESSAGE_MAP()

Создание панели инструментов присутствует в CMainFrame::OnCreate.MFC вызывает OnCreate после создания окна фрейма но до того, как он будет видимым.По умолчанию OnCreate, мастер приложений создает выполняет следующие задачи панели инструментов.

  1. Вызывает функцию-член Создать объекта CToolBar для создания основного объекта CToolBarCtrl.

  2. Вызовы LoadToolBar для загрузки сведения о ресурсе панели инструментов.

  3. Вызовы функции, чтобы включить закрепление, плавающей запятой и всплывающие подсказки.Дополнительные сведения об этих вызовов см. в статье Элемент закрепление панели инструментов и перемещаемые.

ПримечаниеПримечание

Образец MFC DOCKTOOL общие включает рисунке и старых и новых панелей инструментов MFC.Панели инструментов, использующих COldToolbar требуют вызовов на шаге 2, в LoadBitmap (а не LoadToolBar) и в SetButtons.Новые панели инструментов требуют вызовов LoadToolBar.

Перемещаемый элемент закрепление, и вызовы советы по средства являются необязательными.Можно удалить эти линии от OnCreate если вы предпочитаете.Результат панель инструментов, которая остается постоянной, неспособной плыть или redock и не удается отобразить советы по средства.

Редактирование ресурс панели инструментов

По умолчанию панель инструментов, получаемых с помощью мастера приложений основана на ресурсе RT_TOOLBAR пользовательском, появившейся в версии MFC 4.0.Можно изменить этот ресурс с редактор панелей инструментов.Редактор позволяет легко добавить, удалить и изменить порядок кнопками.Он содержит графический редактор для кнопок, очень похож на общий редактор графики в Visual C++.Если редактирования панели инструментов в предыдущих версиях Visual C++, намного проще найти задачу сейчас.

Для подключения кнопку панели инструментов в команде, предоставляемые кнопке идентификатор команды, как ID_MYCOMMAND.Укажите идентификатор команды на странице свойств кнопки панели инструментов в редакторе.Затем создайте функцию обработчика для команды (см. Сопоставление сообщений с функциями дополнительные сведения).

Новый рабочий функции-члены CToolBar с ресурсом RT_TOOLBAR.Теперь LoadToolBar занимает место LoadBitmap для загрузки образов растровое изображение кнопки панели инструментов и SetButtons чтобы задать стили кнопки и подключить кнопки с образами растрового изображения.

Дополнительные сведения об использовании редактора панели инструментов см. в разделе Редактор панелей инструментов.

Несколько панелей инструментов

Мастер приложений предусмотрено одной панелью инструментов по умолчанию.Если требуется провести более чем одной панели инструментов в приложении, можно моделировать код для дополнительных панелей инструментов на основе мастер-произведенном коде панели инструментов по умолчанию.

Если необходимо отображать панель инструментов в результате команды, необходимо:

  • Создание нового ресурса панели инструментов в редакторе панелей инструментов и загрузите его в OnCreate с функцией-членом LoadToolbar.

  • Внедрение новый объект CToolBar в классе окна главного фрейма.

  • Вызовите соответствующие вызовы функций в OnCreate для закрепления или плыть панель инструментов, задайте его стили и т д

f9hbax0b.collapse_all(ru-ru,VS.110).gifДополнительные сведения

См. также

Основные понятия

Реализация панели инструментов MFC