CTabbedPane (clase)
Implementa la funcionalidad de un panel con pestañas separables.
Para obtener más detalles, vea el código fuente ubicado en la carpeta VC\atlmfc\src\mfc de la instalación de Visual Studio.
Sintaxis
class CTabbedPane : public CBaseTabbedPane
Miembros
Constructores públicos
Nombre | Descripción |
---|---|
CTabbedPane::CTabbedPane |
Constructor predeterminado. |
Métodos públicos
Nombre | Descripción |
---|---|
CTabbedPane::D etachPane | (Overrides CBaseTabbedPane::DetachPane.) |
CTabbedPane::EnableTabAutoColor | Habilita o deshabilita el coloreado automático de pestañas. |
CTabbedPane::FloatTab | Convierte un panel en flotante, pero solo si se encuentra actualmente en una pestaña desasociable. (Invalida a CBaseTabbedPane::FloatTab). |
CTabbedPane::GetTabArea | Devuelve el tamaño y la posición del área de pestañas de la ventana con pestañas. |
CTabbedPane::GetTabWnd | |
CTabbedPane::HasAutoHideMode | Determina si el panel con pestañas se puede cambiar a modo de ocultación automática. (Overrides CBaseTabbedPane::HasAutoHideMode.) |
CTabbedPane::IsTabLocationBottom | Determina si las pestañas se sitúan en la parte inferior de la ventana. |
CTabbedPane::ResetTabs | Restablece todos los paneles con pestañas al estado predeterminado. |
CTabbedPane::SetTabAutoColors | Establece una lista de colores personalizados que se pueden usar cuando se habilita la característica de color automático. |
Miembros de datos
Nombre | Descripción |
---|---|
CTabbedPane::m_bTabsAlwaysTop | La ubicación predeterminada de las pestañas en la aplicación. |
CTabbedPane::m_pTabWndRTC | Información de clase en tiempo de ejecución para un derivado de CMFCTabCtrl personalizado. |
Comentarios
El marco de trabajo crea automáticamente una instancia de esta clase cuando un usuario adjunta un panel a otro apuntando al título del segundo panel. Todos los paneles con pestañas que se crean mediante el marco de trabajo tienen un identificador de -1.
Para especificar pestañas normales en lugar de pestañas de estilo Outlook, pase el estilo AFX_CBRS_REGULAR_TABS al método CDockablePane::CreateEx.
Si crea un panel con pestañas separables, el marco de trabajo puede destruir automáticamente el panel, por lo que no debe almacenar el puntero. Para obtener un puntero al panel con pestañas, llame al método CBasePane::GetParentTabbedPane
.
Ejemplos
En este ejemplo, crearemos un objeto CTabbedPane
. Luego se usa CBaseTabbedPane::AddTab para asociar otras pestañas.
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);
Otra forma de crear un objeto de barra de control con pestañas es usar CDockablePane::AttachToTabWnd. El método AttachToTabWnd
crea dinámicamente un objeto de panel con pestañas mediante información de clase en tiempo de ejecución establecida por CDockablePane::SetTabbedPaneRTC.
En este ejemplo se crea dinámicamente un panel con pestañas, se asocian dos pestañas y se convierte la segunda pestaña en no separable.
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);
Jerarquía de herencia
Requisitos
Header: afxTabbedPane.h
CTabbedPane::D etachPane
virtual BOOL DetachPane(
CWnd* pBar,
BOOL bHide = FALSE);
Parámetros
[in] pBar
[in] bHide
Valor devuelto
Comentarios
CTabbedPane::EnableTabAutoColor
Habilita o deshabilita el coloreado automático de pestañas.
static void EnableTabAutoColor(BOOL bEnable = TRUE);
Parámetros
bEnable
[in] TRUE para habilitar el coloreado automático de pestañas; de lo contrario, FALSE.
Comentarios
Use este método estático para habilitar o deshabilitar el coloreado automático de pestañas en todos los paneles con pestañas de la aplicación. Cuando esta característica está habilitada, cada pestaña se rellena con su propio color. Puede encontrar la lista de colores que se usan para colorear las pestañas si llama al método CMFCBaseTabCtrl::GetAutoColors.
Puede especificar la lista de colores que se van a usar para las pestañas mediante una llamada a CTabbedPane::SetTabAutoColors.
Esta opción está deshabilitada de forma predeterminada.
CTabbedPane::FloatTab
virtual BOOL FloatTab(
CWnd* pBar,
int nTabID,
AFX_DOCK_METHOD dockMethod,
BOOL bHide = FALSE);
Parámetros
[in] pBar
[in] nTabID
[in] dockMethod
[in] bHide
Valor devuelto
Comentarios
CTabbedPane::GetTabArea
Devuelve el tamaño y la posición del área de pestañas de la ventana con pestañas.
virtual void GetTabArea(
CRect& rectTabAreaTop,
CRect& rectTabAreaBottom) const;
Parámetros
rectTabAreaTop
[out] Contiene el tamaño y la posición, en coordenadas de pantalla, del área de pestañas superior.
rectTabAreaBottom
[out] Contiene el tamaño y la posición, en coordenadas de pantalla, del área de pestañas inferior.
Comentarios
El marco llama a este método para determinar cómo acoplar un panel que un usuario está arrastrando. Cuando el usuario arrastra un panel sobre el área de pestañas del panel de destino, el marco intenta agregarlo como una nueva pestaña del panel de destino. De lo contrario, intenta acoplar el panel en el lado del panel de destino, lo que implica la creación de un nuevo contenedor de panel con un divisor de paneles que separa los dos paneles.
Invalide este método en una clase derivada de CTabbedPane
para cambiar este comportamiento.
CTabbedPane::GetTabWnd
CMFCTabCtrl* GetTabWnd() const;
Valor devuelto
Comentarios
CTabbedPane::HasAutoHideMode
virtual BOOL HasAutoHideMode() const;
Valor devuelto
Comentarios
CTabbedPane::IsTabLocationBottom
Determina si las pestañas se sitúan en la parte inferior de la ventana.
virtual BOOL IsTabLocationBottom() const;
Valor devuelto
TRUE si el área de pestañas se encuentra en la parte inferior de la ventana con pestañas; de lo contrario, FALSE.
Comentarios
CTabbedPane::m_bTabsAlwaysTop
La ubicación predeterminada de las pestañas en la aplicación.
AFX_IMPORT_DATA static BOOL m_bTabsAlwaysTop;
Comentarios
Establezca este miembro estático en TRUE para forzar a que todas las pestañas de la aplicación se muestren en la parte superior del panel con pestañas.
Debe establecer este valor antes de crear un panel con pestañas.
El valor predeterminado es FALSE.
CTabbedPane::m_pTabWndRTC
Información de clase en tiempo de ejecución para un derivado de CMFCTabCtrl
personalizado.
AFX_IMPORT_DATA static CRuntimeClass* m_pTabWndRTC;
Comentarios
Establezca esta variable miembro estática en un puntero a la información de la clase en tiempo de ejecución de un objeto derivado de CMFCTabCtrl
si usa una ventana con pestañas personalizada dentro de un panel con pestañas.
CTabbedPane::ResetTabs
Restablece todos los paneles con pestañas al estado predeterminado.
static void ResetTabs();
Comentarios
Llame a este método para revertir todos los paneles con pestañas a su estado predeterminado. Cuando se le llama, este método restablece los tamaños de borde y el estado de color automático de todos los paneles con pestañas.
CTabbedPane::SetTabAutoColors
Establece una lista de colores personalizados que se usan cuando se habilita la característica de color automático.
static void SetTabAutoColors(const CArray<COLORREF, COLORREF>& arColors);
Parámetros
arColors
[in] Contiene la matriz de colores que se va a establecer.
Comentarios
Use este método para personalizar la lista de colores que se usan cuando la característica de color automático está habilitada. Se trata de una función estática y afecta a todos los paneles con pestañas de la aplicación.
Use CTabbedPane::EnableTabAutoColor para habilitar o deshabilitar la característica de color automático.
Consulte también
Gráfico de jerarquías
Clases
CDockablePane (clase)
CBaseTabbedPane (clase)
CMFCOutlookBar (clase)