Freigeben über


CTabbedPane-Klasse

Implementiert die Funktionalität eines Bereichs mit abtrennbaren Registerkarten.

oder weitere Details finden Sie im Quellcode im Ordner VC\atlmfc\src\mfc Ihrer Visual Studio-Installation.

Syntax

class CTabbedPane : public CBaseTabbedPane

Member

Öffentliche Konstruktoren

Name Beschreibung
CTabbedPane::CTabbedPane Der Standardkonstruktor.

Öffentliche Methoden

Name Beschreibung
CTabbedPane::D etachPane (Außerkraftsetzungen CBaseTabbedPane::D etachPane.)
CTabbedPane::EnableTabAutoColor Aktiviert oder deaktiviert die automatische Registerkartenfärbung.
CTabbedPane::FloatTab Floats a pane, but only if the pane currently resides in a detachable tab. (Overrides CBaseTabbedPane::FloatTab.)
CTabbedPane::GetTabArea Gibt die Größe und Position des Registerkartenbereichs im Fenster im Registerkartenformat zurück.
CTabbedPane::GetTabWnd
CTabbedPane::HasAutoHideMode Bestimmt, ob der Bereich im Registerkartenformat automatisch in den Hintergrundmodus gewechselt werden kann. (Außerkraftsetzungen CBaseTabbedPane::HasAutoHideMode.)
CTabbedPane::IsTabLocationBottom Bestimmt, ob sich die Registerkarten am unteren Rand des Fensters befinden.
CTabbedPane::ResetTabs Setzt alle Bereiche im Registerkartenformat auf den Standardstatus zurück.
CTabbedPane::SetTabAutoColors Legt eine Liste benutzerdefinierter Farben fest, die verwendet werden kann, wenn die Funktion für automatische Farben aktiviert ist.

Datenelemente

Name Beschreibung
CTabbedPane::m_bTabsAlwaysTop Die Standardposition für Registerkarten in der Anwendung.
CTabbedPane::m_pTabWndRTC Laufzeitklasseninformationen für ein benutzerdefiniertes CMFCTabCtrl-abgeleitetes Objekt.

Hinweise

Das Framework erstellt automatisch eine Instanz dieser Klasse, wenn ein Benutzer einen Bereich an einen anderen anfügt, indem es auf die Beschriftung des zweiten Bereichs verweist. Alle der vom Framework erstellten Bereiche im Registerkartenformat besitzen eine ID von "-1".

Um normale Registerkarten anstelle von Registerkarten im Outlook-Stil anzugeben, übergeben Sie die AFX_CBRS_REGULAR_TABS Formatvorlage an die CDockablePane::CreateEx-Methode .

Wenn Sie einen Bereich im Registerkartenformat mit abtrennbaren Registerkarten erstellen, kann der Bereich automatisch durch das Framework zerstört werden. Speichern Sie daher nicht den Zeiger. Um einen Zeiger zum Bereich im Registerkartenformat zu erhalten, rufen Sie die CBasePane::GetParentTabbedPane-Methode auf.

Beispiele

In diesem Beispiel erstellen wir ein CTabbedPane-Objekt. Als Nächstes verwenden wir CBaseTabbedPane::AddTab , um zusätzliche Registerkarten anzufügen.

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

Eine weitere Möglichkeit zum Erstellen eines Steuerelementleistenobjekts für Registerkarten ist die Verwendung von CDockablePane::AttachToTabWnd. Die AttachToTabWnd Methode erstellt dynamisch ein Tabbed Pane-Objekt mithilfe von Laufzeitklasseninformationen, die von CDockablePane::SetTabbedPaneRTC festgelegt wurden.

In diesem Beispiel erstellen wir einen dynamischen Bereich im Registerkartenformat, fügen zwei Registerkarten an und legen die zweite Registerkarte als nicht entfernbar fest.

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

Vererbungshierarchie

CObject

CCmdTarget

CWnd

CBasePane

CPane

CDockablePane

CBaseTabbedPane

CTabbedPane

Anforderungen

Header: afxTabbedPane.h

CTabbedPane::D etachPane

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

Parameter

[in] Pbar

[in] bHide

Rückgabewert

Bemerkungen

CTabbedPane::EnableTabAutoColor

Aktiviert oder deaktiviert die automatische Registerkartenfärbung.

static void EnableTabAutoColor(BOOL bEnable = TRUE);

Parameter

bEnable
[in] TRUE, um die automatische Farbgebung von Registerkarten zu aktivieren; andernfalls FALSE.

Hinweise

Verwenden Sie diese statische Methode, um die automatische Farbgebung von Registerkarten in allen Registerkartenbereichen in der Anwendung zu aktivieren oder zu deaktivieren. Wenn dieses Feature aktiviert ist, wird jede Registerkarte durch eine eigene Farbe gefüllt. Sie finden die Liste der Farben, die zum Färben der Registerkarten verwendet werden, indem Sie die CMFCBaseTabCtrl::GetAutoColors-Methode aufrufen.

Sie können die Liste der Farben angeben, die für Registerkarten verwendet werden sollen, indem Sie CTabbedPane::SetTabAutoColors aufrufen.

Diese Option ist standardmäßig deaktiviert.

CTabbedPane::FloatTab

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

Parameter

[in] Pbar
[in] nTabID
[in] dockMethod
[in] bHide

Rückgabewert

Bemerkungen

CTabbedPane::GetTabArea

Gibt die Größe und Position des Registerkartenbereichs im Registerkartenfenster zurück.

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

Parameter

rectTabAreaTop
[out] Enthält die Größe und Position des oberen Registerkartenbereichs in Bildschirmkoordinaten.

rectTabAreaBottom
[out] Enthält die Größe und Position des unteren Registerkartenbereichs in Bildschirmkoordinaten.

Hinweise

Das Framework ruft diese Methode auf, um zu bestimmen, wie ein Bereich angedockt wird, den ein Benutzer zieht. Wenn der Benutzer einen Bereich über den Registerkartenbereich des Zielbereichs zieht, versucht das Framework, ihn als neue Registerkarte des Zielbereichs hinzuzufügen. Andernfalls wird versucht, den Bereich an der Seite des Zielbereichs anzudocken, bei dem ein neuer Bereichscontainer mit einer Bereichstrennlinie erstellt wird, die die beiden Bereiche trennt.

Überschreiben Sie diese Methode in einer CTabbedPaneabgeleiteten Klasse, um dieses Verhalten zu ändern.

CTabbedPane::GetTabWnd

CMFCTabCtrl* GetTabWnd() const;

Rückgabewert

Bemerkungen

CTabbedPane::HasAutoHideMode

virtual BOOL HasAutoHideMode() const;

Rückgabewert

Bemerkungen

CTabbedPane::IsTabLocationBottom

Bestimmt, ob sich die Registerkarten am unteren Rand des Fensters befinden.

virtual BOOL IsTabLocationBottom() const;

Rückgabewert

TRUE, wenn sich der Registerkartenbereich am unteren Rand des Registerkartenfensters befindet; andernfalls FALSE.

Hinweise

CTabbedPane::m_bTabsAlwaysTop

Die Standardposition für Registerkarten in der Anwendung.

AFX_IMPORT_DATA static BOOL m_bTabsAlwaysTop;

Hinweise

Legen Sie dieses statische Element auf TRUE fest, um zu erzwingen, dass alle Registerkarten in der Anwendung oben im Bereich des Registerkartenformats angezeigt werden.

Sie müssen diesen Wert festlegen, bevor ein Registerkartenbereich erstellt wurde.

Der Standardwert ist FALSE.

CTabbedPane::m_pTabWndRTC

Laufzeitklasseninformationen für ein benutzerdefiniertes CMFCTabCtrl-abgeleitetes Objekt.

AFX_IMPORT_DATA static CRuntimeClass* m_pTabWndRTC;

Hinweise

Legen Sie diese statische Membervariable auf einen Zeiger auf die Laufzeitklasseninformationen eines von - CMFCTabCtrlabgeleiteten Objekts fest, wenn Sie ein benutzerdefiniertes Fenster im Registerkartenformat innerhalb eines Registerkartenbereichs verwenden.

CTabbedPane::ResetTabs

Setzt alle Bereiche im Registerkartenformat auf den Standardstatus zurück.

static void ResetTabs();

Hinweise

Rufen Sie diese Methode auf, um alle Registerkartenbereiche in ihren Standardzustand zu rückgängig machen. Wenn diese Methode aufgerufen wird, werden die Rahmengrößen und der automatische Farbzustand aller Registerkartenbereiche zurückgesetzt.

CTabbedPane::SetTabAutoColors

Legt eine Liste von benutzerdefinierten Farben fest, die verwendet werden, wenn die Automatische Farbfunktion aktiviert ist.

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

Parameter

arColors
[in] Enthält das Array der festzulegenden Farben.

Hinweise

Verwenden Sie diese Methode, um die Liste der Farben anzupassen, die verwendet werden, wenn das Feature für die automatische Farbe aktiviert ist. Dies ist eine statische Funktion und wirkt sich auf alle Registerkartenbereiche in Ihrer Anwendung aus.

Verwenden Sie CTabbedPane::EnableTabAutoColor , um das Feature für die automatische Farbe zu aktivieren oder zu deaktivieren.

Siehe auch

Hierarchiediagramm
Klassen
CDockablePane-Klasse
CBaseTabbedPane-Klasse
CMFCOutlookBar-Klasse