Принципы панели инструментов
В этой статье описывается базовая реализация 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, мастер приложений создает выполняет следующие задачи панели инструментов.
Вызывает функцию-член Создать объекта CToolBar для создания основного объекта CToolBarCtrl.
Вызовы LoadToolBar для загрузки сведения о ресурсе панели инструментов.
Вызовы функции, чтобы включить закрепление, плавающей запятой и всплывающие подсказки.Дополнительные сведения об этих вызовов см. в статье Элемент закрепление панели инструментов и перемещаемые.
Примечание |
---|
Образец 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 для закрепления или плыть панель инструментов, задайте его стили и т д
Дополнительные сведения
Реализация панели инструментов MFC (данные обзора на панели инструментов)
Классы CToolBar и CToolBarCtrl