Класс 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);
Иерархия наследования
Требования
Заголовок: 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