Compartilhar via


Classe CTabbedPane

Implementa a funcionalidade de um painel com guias desanexáveis.

Para obter mais detalhes, consulte o código-fonte localizado na pasta VC\atlmfc\src\mfc de sua instalação do Visual Studio.

Sintaxe

class CTabbedPane : public CBaseTabbedPane

Membros

Construtores públicos

Nome Descrição
CTabbedPane::CTabbedPane Construtor padrão.

Métodos públicos

Nome Descrição
CTabbedPane::DetachPane (Substitui CBaseTabbedPane::DetachPane.)
CTabbedPane::EnableTabAutoColor Habilita ou desabilita a coloração automática de guias.
CTabbedPane::FloatTab Faz com que um painel flutue, mas somente se, no momento, o painel residir em uma guia desanexável. (Substitui CBaseTabbedPane::FloatTab.)
CTabbedPane::GetTabArea Retorna o tamanho e a posição da área de tabulação dentro da janela com guias.
CTabbedPane::GetTabWnd
CTabbedPane::HasAutoHideMode Determina se o painel com guias pode ser alternado para o modo de ocultação automática. (Substitui CBaseTabbedPane::HasAutoHideMode.)
CTabbedPane::IsTabLocationBottom Determina se as guias estão localizadas na parte inferior da janela.
CTabbedPane::ResetTabs Redefine todos os painéis com guias para o estado padrão.
CTabbedPane::SetTabAutoColors Define uma lista de cores personalizadas que podem ser usadas quando o recurso de cor automática está habilitado.

Membros de dados

Nome Descrição
CTabbedPane::m_bTabsAlwaysTop O local padrão para guias no aplicativo.
CTabbedPane::m_pTabWndRTC Informações de classe de runtime para um objeto derivado de CMFCTabCtrl personalizado.

Comentários

A estrutura cria automaticamente uma instância dessa classe quando um usuário anexa um painel a outro apontando para a barra de título do segundo painel. Todos os painéis com guias criados pela estrutura têm uma ID de -1.

Para especificar guias regulares em vez de guias no estilo do Outlook, passe o estilo AFX_CBRS_REGULAR_TABS para o método CDockablePane::CreateEx.

Se você criar um painel com guias desanexáveis, o painel poderá ser destruído automaticamente pela estrutura, portanto, você não deve armazenar o ponteiro. Para obter um ponteiro para o painel com guias, chame o método CBasePane::GetParentTabbedPane.

Exemplos

Neste exemplo, criamos um objeto CTabbedPane. Em seguida, usamos CBaseTabbedPane::AddTab para anexar guias adicionais.

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);

Outra maneira de criar um objeto de barra de controle com guias é usar CDockablePane::AttachToTabWnd. O método AttachToTabWnd cria dinamicamente um objeto de painel com guias usando informações de classe de runtime definidas por CDockablePane::SetTabbedPaneRTC.

Neste exemplo, criamos dinamicamente um painel com guias, anexamos duas guias e tornamos a segunda guia não desanexável.

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);

Hierarquia de herança

CObject

CCmdTarget

CWnd

CBasePane

CPane

CDockablePane

CBaseTabbedPane

CTabbedPane

Requisitos

Cabeçalho: afxTabbedPane.h

CTabbedPane::DetachPane

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

Parâmetros

[in] pBar

[in] bHide

Valor de retorno

Comentários

CTabbedPane::EnableTabAutoColor

Habilita ou desabilita a coloração automática de guias.

static void EnableTabAutoColor(BOOL bEnable = TRUE);

Parâmetros

bEnable
[in] TRUE para habilitar a coloração automática de guias; caso contrário, FALSE.

Comentários

Use este método estático para habilitar ou desabilitar a coloração automática de guias em todos os painéis com guias no aplicativo. Quando esse recurso está habilitado, cada guia é preenchida por sua própria cor. Você pode encontrar a lista de cores usadas para colorir as guias chamando o método CMFCBaseTabCtrl::GetAutoColors.

Você pode especificar a lista de cores que serão usadas para guias chamando CTabbedPane::SetTabAutoColors.

Por padrão, essa opção está desabilitada.

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 de retorno

Comentários

CTabbedPane::GetTabArea

Retorna o tamanho e a posição da área da guia na janela com guias.

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

Parâmetros

rectTabAreaTop
[out] Contém o tamanho e a posição, em coordenadas de tela, da área da guia superior.

rectTabAreaBottom
[out] Contém o tamanho e a posição, em coordenadas de tela, da área da guia inferior.

Comentários

A estrutura chama esse método para determinar como encaixar um painel que um usuário está arrastando. Quando o usuário arrasta um painel sobre a área de tabulação do painel de destino, a estrutura tenta adicioná-lo como uma nova guia do painel de destino. Caso contrário, ele tenta encaixar o painel na lateral do painel de destino, que envolve a criação de um novo contêiner de painel com um divisor que separa os dois painéis.

Substitua esse método em uma classe derivada de CTabbedPane para alterar esse comportamento.

CTabbedPane::GetTabWnd

CMFCTabCtrl* GetTabWnd() const;

Valor de retorno

Comentários

CTabbedPane::HasAutoHideMode

virtual BOOL HasAutoHideMode() const;

Valor de retorno

Comentários

CTabbedPane::IsTabLocationBottom

Determina se as guias estão localizadas na parte inferior da janela.

virtual BOOL IsTabLocationBottom() const;

Valor de retorno

TRUE se a área de tabulação estiver localizada na parte inferior da janela com guias; caso contrário, FALSE.

Comentários

CTabbedPane::m_bTabsAlwaysTop

O local padrão para guias no aplicativo.

AFX_IMPORT_DATA static BOOL m_bTabsAlwaysTop;

Comentários

Defina esse membro estático como TRUE para forçar que todas as guias no aplicativo sejam exibidas na parte superior do painel com guias.

Você deve definir esse valor antes que um painel com guias seja criado.

O valor padrão é FALSE.

CTabbedPane::m_pTabWndRTC

Informações de classe de runtime para um objeto derivado de CMFCTabCtrl personalizado.

AFX_IMPORT_DATA static CRuntimeClass* m_pTabWndRTC;

Comentários

Defina essa variável de membro estático como um ponteiro para as informações de classe de runtime de um objeto derivado de CMFCTabCtrl se você estiver usando uma janela personalizada com guias dentro de um painel com guias.

CTabbedPane::ResetTabs

Redefine todos os painéis com guias para o estado padrão.

static void ResetTabs();

Comentários

Chame esse método para reverter todos os painéis com guias para seu estado padrão. Quando chamado, esse método redefine os tamanhos da borda e o estado de cor automática de todos os painéis com guias.

CTabbedPane::SetTabAutoColors

Define uma lista de cores personalizadas usadas quando o recurso de cor automática está habilitado.

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

Parâmetros

arColors
[in] Contém a matriz de cores a ser definida.

Comentários

Use esse método para personalizar a lista de cores usadas quando o recurso de cor automática estiver habilitado. Essa é uma função estática e afeta todos os painéis com guias em seu aplicativo.

Use CTabbedPane::EnableTabAutoColor para habilitar ou desabilitar o recurso de cor automática.

Confira também

Gráfico da hierarquia
Classes
Classe CDockablePane
Classe CBaseTabbedPane
Classe CMFCOutlookBar