Condividi tramite


Classe CTabbedPane

Implementa la funzionalità di un riquadro con schede staccabili.

o altri dettagli, vedere il codice sorgente che si trova nella cartella VC\atlmfc\src\mfc dell'installazione di Visual Studio.

Sintassi

class CTabbedPane : public CBaseTabbedPane

Membri

Costruttori pubblici

Nome Descrizione
CTabbedPane::CTabbedPane Costruttore predefinito.

Metodi pubblici

Nome Descrizione
CTabbedPane::D etachPane (sostituzioni )CBaseTabbedPane::D etachPane.)
CTabbedPane::EnableTabAutoColor Abilita o disabilita la colorazione automatica delle schede.
CTabbedPane::FloatTab Sposta un riquadro, ma solo se il riquadro si trova attualmente in una scheda scollegabile. Esegue l'override di CBaseTabbedPane::FloatTab.
CTabbedPane::GetTabArea Restituisce le dimensioni e la posizione dell'area della scheda nella finestra a schede.
CTabbedPane::GetTabWnd
CTabbedPane::HasAutoHideMode Determina se il riquadro a schede può passare alla modalità Nascondi automaticamente. (sostituzioni )CBaseTabbedPane::HasAutoHideMode.
CTabbedPane::IsTabLocationBottom Determina se le schede si trovano nella parte inferiore della finestra.
CTabbedPane::ResetTabs Reimposta lo stato predefinito di tutti i riquadri a schede.
CTabbedPane::SetTabAutoColors Imposta un elenco di colori personalizzati può essere usato quando è abilitata la funzionalità Colore automatico.

Membri dei dati

Nome Descrizione
CTabbedPane::m_bTabsAlwaysTop Posizione predefinita delle schede nell'applicazione.
CTabbedPane::m_pTabWndRTC Informazioni sulla classe di runtime per un oggetto personalizzato derivato da CMFCTabCtrl.

Osservazioni:

Il framework crea automaticamente un'istanza di questa classe quando un utente collega un riquadro a un altro posizionando il puntatore del mouse sul titolo del secondo riquadro. Tutti i riquadri a schede create dal framework dispongono di un ID -1.

Per specificare le schede normali anziché le schede di tipo Outlook, passare lo stile AFX_CBRS_REGULAR_TABS al metodo CDockablePane::CreateEx .

Se si crea un riquadro a schede con schede rimovibili, il riquadro può essere eliminato definitivamente in modo automatico dal framework. Non è pertanto consigliabile archiviare il puntatore. Per passare un puntatore al riquadro a schede, chiamare il metodo CBasePane::GetParentTabbedPane.

Esempi

In questo esempio viene creato un oggetto CTabbedPane. Si userà quindi CBaseTabbedPane::AddTab per allegare altre schede.

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

Un altro modo per creare un oggetto barra di controllo a schede consiste nell'usare CDockablePane::AttachToTabWnd. Il AttachToTabWnd metodo crea dinamicamente un oggetto riquadro a schede usando le informazioni sulla classe di runtime impostate da CDockablePane::SetTabbedPaneRTC.

In questo esempio viene creato dinamicamente un riquadro a schede, vengono collegate due schede e la seconda scheda viene impostata come non rimovibile.

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

Gerarchia di ereditarietà

CObject

CCmdTarget

CWnd

CBasePane

CPane

CDockablePane

CBaseTabbedPane

CTabbedPane

Requisiti

Intestazione: afxTabbedPane.h

CTabbedPane::D etachPane

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

Parametri

[in] pBar

[in] bHide

Valore restituito

Osservazioni:

CTabbedPane::EnableTabAutoColor

Abilita o disabilita la colorazione automatica delle schede.

static void EnableTabAutoColor(BOOL bEnable = TRUE);

Parametri

bEnable
[in] TRUE per abilitare la colorazione automatica delle schede; in caso contrario, FALSE.

Osservazioni:

Usare questo metodo statico per abilitare o disabilitare la colorazione automatica delle schede in tutti i riquadri a schede nell'applicazione. Quando questa funzionalità è abilitata, ogni scheda viene riempita con il proprio colore. È possibile trovare l'elenco dei colori utilizzati per colorare le schede chiamando il metodo CMFCBaseTabCtrl::GetAutoColors .

È possibile specificare l'elenco di colori che verranno usati per le schede chiamando CTabbedPane::SetTabAutoColors.

L'opzione è disabilitata per impostazione predefinita.

CTabbedPane::FloatTab

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

Parametri

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

Valore restituito

Osservazioni:

CTabbedPane::GetTabArea

Restituisce le dimensioni e la posizione dell'area della scheda nella finestra a schede.

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

Parametri

rectTabAreaTop
[out] Contiene le dimensioni e la posizione, nelle coordinate dello schermo, dell'area della scheda superiore.

rectTabAreaBottom
[out] Contiene le dimensioni e la posizione, nelle coordinate dello schermo, dell'area della scheda inferiore.

Osservazioni:

Il framework chiama questo metodo per determinare come ancorare un riquadro che un utente sta trascinando. Quando l'utente trascina un riquadro sull'area della scheda del riquadro di destinazione, il framework tenta di aggiungerlo come nuova scheda del riquadro di destinazione. In caso contrario, tenta di ancorare il riquadro sul lato del riquadro di destinazione, che comporta la creazione di un nuovo contenitore di riquadri con un divisore di riquadri che separa i due riquadri.

Eseguire l'override di questo metodo in una CTabbedPaneclasse derivata da per modificare questo comportamento.

CTabbedPane::GetTabWnd

CMFCTabCtrl* GetTabWnd() const;

Valore restituito

Osservazioni:

CTabbedPane::HasAutoHideMode

virtual BOOL HasAutoHideMode() const;

Valore restituito

Osservazioni:

CTabbedPane::IsTabLocationBottom

Determina se le schede si trovano nella parte inferiore della finestra.

virtual BOOL IsTabLocationBottom() const;

Valore restituito

TRUE se l'area della scheda si trova nella parte inferiore della finestra a schede; in caso contrario, FALSE.

Osservazioni:

CTabbedPane::m_bTabsAlwaysTop

Posizione predefinita delle schede nell'applicazione.

AFX_IMPORT_DATA static BOOL m_bTabsAlwaysTop;

Osservazioni:

Impostare questo membro statico su TRUE per forzare la visualizzazione di tutte le schede nell'applicazione nella parte superiore del riquadro a schede.

È necessario impostare questo valore prima che sia stato creato un riquadro a schede.

Il valore predefinito è FALSE.

CTabbedPane::m_pTabWndRTC

Informazioni sulla classe di runtime per un oggetto personalizzato derivato da CMFCTabCtrl.

AFX_IMPORT_DATA static CRuntimeClass* m_pTabWndRTC;

Osservazioni:

Impostare questa variabile membro statica su un puntatore alle informazioni sulla classe di runtime di un CMFCTabCtrloggetto derivato da se si usa una finestra a schede personalizzata all'interno di un riquadro a schede.

CTabbedPane::ResetTabs

Reimposta lo stato predefinito di tutti i riquadri a schede.

static void ResetTabs();

Osservazioni:

Chiamare questo metodo per ripristinare lo stato predefinito di tutti i riquadri a schede. Quando viene chiamato, questo metodo reimposta le dimensioni del bordo e lo stato del colore automatico di tutti i riquadri a schede.

CTabbedPane::SetTabAutoColors

Imposta un elenco di colori personalizzati utilizzati quando la funzionalità colore automatico è abilitata.

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

Parametri

arColors
[in] Contiene la matrice di colori da impostare.

Osservazioni:

Utilizzare questo metodo per personalizzare l'elenco dei colori utilizzati quando la funzionalità colore automatico è abilitata. Si tratta di una funzione statica e influisce su tutti i riquadri a schede nell'applicazione.

Usare CTabbedPane::EnableTabAutoColor per abilitare o disabilitare la funzionalità colore automatico.

Vedi anche

Grafico della gerarchia
Classi
Classe CDockablePane
Classe CBaseTabbedPane
Classe CMFCOutlookBar