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


Класс CTabbedPane

Реализует функциональные возможности области с отделяемыми вкладками.

или дополнительные сведения см. в исходном коде, расположенном в папке VC\atlmfc\src\mfc установки Visual Studio.

Синтаксис

class CTabbedPane : public CBaseTabbedPane

Участники

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

Имя Описание
CTabbedPane::CTabbedPane Конструктор по умолчанию.

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

Имя Описание
CTabbedPane::D etachPane (Переопределения CBaseTabbedPane::D etachPane.)
CTabbedPane::EnableTabAutoColor Включает или выключает автоматическую цветовую маркировку вкладок.
CTabbedPane::FloatTab Плавает область, но только если область находится на отсоединяемой вкладке. (Переопределяет CBaseTabbedPane::FloatTab.)
CTabbedPane::GetTabArea Возвращает размер и положение области вкладок в окне с вкладками.
CTabbedPane::GetTabWnd
CTabbedPane::HasAutoHideMode Определяет возможность переключения панели с вкладками в режим автоматического скрытия. (Переопределения CBaseTabbedPane::HasAutoHideMode.)
CTabbedPane::IsTabLocationBottom Определяет, расположены ли вкладки в нижней части окна.
CTabbedPane::ResetTabs Переводит все панели с вкладками в состояние по умолчанию.
CTabbedPane::SetTabAutoColors Задает список пользовательских цветов, которые могут применяться, когда включена возможность автоматической цветовой маркировки вкладок.

Элементы данных

Имя Описание
CTabbedPane::m_bTabsAlwaysTop Расположение вкладок в приложении по умолчанию.
CTabbedPane::m_pTabWndRTC Сведения о классе среды выполнения для настраиваемого объекта, производного от класса CMFCTabCtrl.

Замечания

Платформа автоматически создает экземпляр этого класса, когда пользователь прикрепляет одну панель к другой, подводя указатель мыши к заголовку второй панели. Все панели с вкладками, созданные платформой, имеют идентификатор -1.

Чтобы указать обычные вкладки вместо вкладок в стиле Outlook, передайте стиль AFX_CBRS_REGULAR_TABS методу CDockablePane::CreateEx .

Если создать панель с отделяемыми вкладками, она может быть автоматически уничтожена платформой, поэтому лучше не оставлять указатель. Чтобы получить указатель на панель с вкладками, вызовите метод CBasePane::GetParentTabbedPane.

Примеры

В этом примере создается объект CTabbedPane. Далее мы используем CBaseTabbedPane::AddTab для присоединения дополнительных вкладок.

CTabbedPane* pTabbededBar = new CTabbedPane (TRUE);

if (!pTabbededBar->Create (_T(""),
    this,
    CRect (0,
    0,
    200,
    200),
    TRUE,
    (UINT) -1,
    WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS |
    WS_CLIPCHILDREN | CBRS_LEFT |
    CBRS_FLOAT_MULTI))
{
    TRACE0("Failed to create Solution Explorer bar\n");

    return FALSE;      // fail to create
}

pTabbededBar->AddTab (&m_wndClassView);
pTabbededBar->AddTab (&m_wndResourceView);

pTabbededBar->AddTab (&m_wndFileView);
pTabbededBar->EnableDocking(CBRS_ALIGN_ANY);

DockPane(pTabbededBar);

Другим способом создания объекта панели управления с вкладками является использование CDockablePane::AttachToTabWnd. Метод AttachToTabWnd динамически создает объект области табуляции с помощью сведений о классе среды выполнения, заданных CDockablePane ::SetTabbedPaneRTC.

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

DockPane(&m_wndClassView);

CTabbedPane* pTabbedBar = NULL;
m_wndResourceView.AttachToTabWnd (&m_wndClassView,
    DM_SHOW,
    TRUE,
    (CDockablePane**) &pTabbedBar);

m_wndFileView.AttachToTabWnd (pTabbedBar,
    DM_SHOW,
    TRUE,
    (CDockablePane**) &pTabbedBar);

pTabbedBar->GetUnderlyingWindow ()->EnableTabDetach (1,
    FALSE);

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

CObject

CCmdTarget

CWnd

CBasePane

CPane

CDockablePane

CBaseTabbedPane

CTabbedPane

Требования

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

CTabbedPane::D etachPane

virtual BOOL DetachPane(
    CWnd* pBar,
    BOOL bHide = FALSE);

Параметры

[in] pBar

[in] bHide

Возвращаемое значение

Замечания

CTabbedPane::EnableTabAutoColor

Включает или выключает автоматическую цветовую маркировку вкладок.

static void EnableTabAutoColor(BOOL bEnable = TRUE);

Параметры

bEnable
[in] ЗНАЧЕНИЕ TRUE для включения автоматического цвета вкладок; в противном случае — ЗНАЧЕНИЕ FALSE.

Замечания

Используйте этот статический метод для включения или отключения автоматического цвета вкладок во всех панелях табуляции в приложении. Если эта функция включена, каждая вкладка заполняется собственным цветом. Список цветов, используемых для цвета вкладок, можно найти, вызвав метод CMFCBaseTabCtrl::GetAutoColors .

Вы можете указать список цветов, которые будут использоваться для вкладок, вызвав CTabbedPane::SetTabAutoColors.

По умолчанию этот параметр отключен.

CTabbedPane::FloatTab

virtual BOOL FloatTab(
    CWnd* pBar,
    int nTabID,
    AFX_DOCK_METHOD dockMethod,
    BOOL bHide = FALSE);

Параметры

[in] pBar
[in] nTabID
[in] dockMethod
[in] bHide

Возвращаемое значение

Замечания

CTabbedPane::GetTabArea

Возвращает размер и положение области вкладок в окне табуляции.

virtual void GetTabArea(
    CRect& rectTabAreaTop,
    CRect& rectTabAreaBottom) const;

Параметры

rectTabAreaTop
[out] Содержит размер и положение в координатах экрана в верхней области вкладок.

rectTabAreaBottom
[out] Содержит размер и позицию в координатах экрана нижней области вкладок.

Замечания

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

Переопределите этот метод в производном CTabbedPaneклассе, чтобы изменить это поведение.

CTabbedPane::GetTabWnd

CMFCTabCtrl* GetTabWnd() const;

Возвращаемое значение

Замечания

CTabbedPane::HasAutoHideMode

virtual BOOL HasAutoHideMode() const;

Возвращаемое значение

Замечания

CTabbedPane::IsTabLocationBottom

Определяет, расположены ли вкладки в нижней части окна.

virtual BOOL IsTabLocationBottom() const;

Возвращаемое значение

ЗНАЧЕНИЕ TRUE, если область вкладок расположена в нижней части окна табуляции; в противном случае — ЗНАЧЕНИЕ FALSE.

Замечания

CTabbedPane::m_bTabsAlwaysTop

Расположение вкладок в приложении по умолчанию.

AFX_IMPORT_DATA static BOOL m_bTabsAlwaysTop;

Замечания

Установите для этого статического члена значение TRUE, чтобы принудительно отобразить все вкладки в приложении в верхней части панели вкладок.

Перед созданием области табуляции необходимо задать это значение.

Значение по умолчанию — FALSE.

CTabbedPane::m_pTabWndRTC

Сведения о классе среды выполнения для настраиваемого объекта, производного от класса CMFCTabCtrl.

AFX_IMPORT_DATA static CRuntimeClass* m_pTabWndRTC;

Замечания

Установите эту статическую переменную-член в указатель на сведения CMFCTabCtrlо классе среды выполнения производного объекта, если вы используете настраиваемое окно табуляции в области табуляции.

CTabbedPane::ResetTabs

Переводит все панели с вкладками в состояние по умолчанию.

static void ResetTabs();

Замечания

Вызовите этот метод, чтобы вернуть все области табуляции в состояние по умолчанию. При вызове этот метод сбрасывает размеры границы и автоматическое состояние цвета всех вкладок.

CTabbedPane::SetTabAutoColors

Задает список настраиваемых цветов, которые используются при включении функции автоматического цвета.

static void SetTabAutoColors(const CArray<COLORREF, COLORREF>& arColors);

Параметры

arColors
[in] Содержит массив цветов, которые нужно задать.

Замечания

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

Используйте CTabbedPane::EnableTabAutoColor , чтобы включить или отключить функцию автоматического цвета.

См. также

Диаграмма иерархии
Классы
Класс CDockablePane
Класс CBaseTabbedPane
Класс CMFCOutlookBar