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


Класс CMFCOutlookBar

Нашитая области с внешним видом Область переходов в Microsoft Outlook 2000 и outlook 2003. Объект CMFCOutlookBar содержит объект Класс CMFCOutlookBarTabCtrl и ряде вкладок. Вкладки могут быть или объектами Класс CMFCOutlookBarPane или CWnd- производными объектами. Пользователю, панели outlook отображается как набор кнопок и области отображения. Когда пользователь нажимает кнопку, соответствующую отображается область элемента управления или кнопки.

class CMFCOutlookBar : public CBaseTabbedPane

Члены

Открытые конструкторы

Имя

Описание

CMFCOutlookBar::CMFCOutlookBar

Конструктор по умолчанию.

CMFCOutlookBar::~CMFCOutlookBar

Деструктор.

Открытые методы

Имя

Описание

CMFCOutlookBar::AllowDestroyEmptyTabbedPane

Определяет, является ли нашитую пустую область можно удалить. Переопределения ( CBaseTabbedPane::AllowDestroyEmptyTabbedPane).

CMFCOutlookBar::CanAcceptPane

Определяет, является ли другая область можно закрепить в области панели outlook. (Переопределения CDockablePane::CanAcceptPane).

CMFCOutlookBar::CanSetCaptionTextToTabName

Определяет, отображать ли заголовок для нашитой области той же текст, как активная вкладку. Переопределения ( CBaseTabbedPane::CanSetCaptionTextToTabName).

CMFCOutlookBar::Create

Создается элемент управления панели outlook.

CMFCOutlookBar::CreateCustomPage

Создание настраиваемой вкладки панели outlook.

CMFCOutlookBar::CreateObject

Используется средой выполнения для создания динамического экземпляр этого типа класса.

CMFCOutlookBar::DoesAllowDynInsertBefore

Определяет, может ли пользователь закрепление панели элементов управления на внешний стороне панели outlook.

CMFCOutlookBar::FloatTab

Будет плавающим область, но только если область в данный момент находится в отделяемой вкладке. Переопределения ( CBaseTabbedPane::FloatTab).

CMFCOutlookBar::GetButtonsFont

Возвращает шрифт текста кнопок панели outlook.

CMFCOutlookBar::GetTabArea

Возвращает размер и положение областей вкладки на панели outlook. Переопределения ( CBaseTabbedPane::GetTabArea).

CMFCOutlookBar::GetThisClass

Используется средой выполнения для получения указателя на объект CRuntimeClass, который связан с этим типом класса.

CMFCOutlookBar::IsMode2003

Определяет, является ли расширение функциональности имитаторов панели outlook, Microsoft Office Outlook 2003 (см. примечания).

CMFCOutlookBar::OnAfterAnimation

Вызывается после активной вкладке CMFCOutlookBarTabCtrl::SetActiveTab задает использование анимации.

CMFCOutlookBar::OnBeforeAnimation

Вызывается CMFCOutlookBarTabCtrl::SetActiveTab перед страницей вкладок задает в качестве активной вкладки с помощью анимации.

CMFCOutlookBar::OnScroll

Вызывается средой выполнения при панели outlook прокрутка вверх или вниз.

CMFCOutlookBar::RemoveCustomPage

Удаление пользовательской вкладки панели outlook.

CMFCOutlookBar::SetButtonsFont

Задает шрифт текста кнопок панели outlook.

CMFCOutlookBar::SetMode2003

Определяет, является ли расширение функциональности имитаторов панели outlook, outlook 2003 (см. примечания).

Заметки

Пример панели outlook см. в разделе Пример OutlookDemo: Приложение MFC с возможностями outlook.

Реализация панели outlook

Для использования элемента управления CMFCOutlookBar в приложении, выполните следующие действия.

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

    class CMainFrame : public CMDIFrameWnd
     { ...
         CMFCOutlookBar         m_wndOutlookBar;
         CMFCOutlookBarPane     m_wndOutlookPane;
    ... };
    
  2. При обработке сообщения WM_CREATE в большой ЭВМ, вызовите метод CMFCOutlookBar::Create для создания элемента управления TAB панели outlook.

    m_wndOutlookBar.Create (_T("Shortcuts"), this, CRect (0, 0, 100, 100), ID_VIEW_OUTLOOKBAR, WS_CHILD | WS_VISIBLE | CBRS_LEFT);
    
  3. Получите указатель в базовом буфере CMFCOutlookBarTabCtrl с помощью CBaseTabbedPane::GetUnderlyingWindow.

    CMFCOutlookBarTabCtrl* pOutlookBar = (CMFCOutlookBarTabCtrl*) m_wndOutlookBar.GetUnderlyingWindow ();
    
  4. Создайте объект Класс CMFCOutlookBarPane для каждой вкладки, содержащей кнопки.

    m_wndOutlookPane.Create (&m_wndOutlookBar, AFX_DEFAULT_TOOLBAR_STYLE, ID_OUTLOOK_PANE_GENERAL, AFX_CBRS_FLOAT | AFX_CBRS_RESIZE);
    // make the Outlook pane detachable (enable docking)
    m_wndOutlookPane.EnableDocking (CBRS_ALIGN_ANY);
    // add buttons
    m_wndOutlookPane.AddButton (theApp.LoadIcon (IDR_MAINFRAME), "About", ID_APP_ABOUT);
    m_wndOutlookPane.AddButton (theApp.LoadIcon (IDR_CUSTOM_OPEN_ICON), "Open", ID_FILE_OPEN);
    
  5. Вызовите CMFCBaseTabCtrl::AddTab для добавления в каждой новой вкладки. Присвойте параметру bDetachable значение FALSE, чтобы сделать страницы не отделяемой. Или используйте CMFCOutlookBarTabCtrl::AddControl, чтобы добавить отделяемые страницы.

    pOutlookBar->AddTab (&m_wndOutlookPane, "General", (UINT) -1, TRUE); 
    
  6. Добавление CWnd производный от элемента управления (например, Класс CMFCShellTreeCtrl) вкладкой, создает элемент управления и вызвать функцию CMFCBaseTabCtrl::AddTab, чтобы добавить его на панели outlook.

Примечание

Необходимо использовать уникальный идентификатор элемента управления для каждого объекта Класс CMFCOutlookBarPane и для каждого CWnd- производного объекта.

Динамическое добавление или удаление новые страницы во время выполнения, параметра CMFCOutlookBar::CreateCustomPage и CMFCOutlookBar::RemoveCustomPage.

Режим outlook 2003

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

Используйте CMFCOutlookBar::SetMode2003, чтобы включить режим 2003 outlook. Используйте CMFCOutlookBarTabCtrl::SetToolbarImageList для задания растровое изображение, содержащее Значки, которые отображаются в нижней части панели outlook. Значки в растровом изображении должны быть упорядочены по индексу вкладки.

Иерархия наследования

CObject

   CCmdTarget

      CWnd

         CBasePane

            CPane

               CDockablePane

                  CBaseTabbedPane

                     CMFCOutlookBar

Требования

Заголовок: afxoutlookbar.h

См. также

Ссылки

Диаграмма иерархии

Класс CBaseTabbedPane

Класс CMFCOutlookBarTabCtrl

Класс CMFCOutlookBarPane

Другие ресурсы

Классы MFC