Compartir a través de


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

CObject

CCmdTarget

CWnd

CBasePane

CPane

CDockablePane

CBaseTabbedPane

CTabbedPane

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)