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
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 CTabbedPane
abgeleiteten 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 FALSCH.
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 - CMFCTabCtrl
abgeleiteten 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 zurückzuverwenden. 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