CBaseTabbedPane-Klasse
Erweitert die Funktionalität von CDockablePane Class , um die Erstellung von Fenstern im Registerkartenformat zu unterstützen
class CBaseTabbedPane : public CDockablePane
Name | Beschreibung |
---|---|
CBaseTabbedPane::CBaseTabbedPane |
Der Standardkonstruktor. |
Name | Beschreibung |
---|---|
CBaseTabbedPane::AddTab | Fügt einem Registerkartenbereich eine neue Registerkarte hinzu. |
CBaseTabbedPane::AllowDestroyEmptyTabbedPane | Gibt an, ob ein leerer Registerkartenbereich zerstört werden kann. |
CBaseTabbedPane::ApplyRestoredTabInfo | Wendet Registerkarteneinstellungen an, die aus der Registrierung geladen werden, auf einen Registerkartenbereich. |
CBaseTabbedPane::CanFloat | Bestimmt, ob der Bereich schweben kann. (Außerkraftsetzungen CBasePane::CanFloat.) |
CBaseTabbedPane::CanSetCaptionTextToTabName | Bestimmt, ob die Beschriftung für den Registerkartenbereich denselben Text wie die aktive Registerkarte anzeigen soll. |
CBaseTabbedPane::ConvertToTabbedDocument | (Außerkraftsetzungen CDockablePane::ConvertToTabbedDocument.) |
CBaseTabbedPane::D etachPane | Konvertiert einen oder mehrere andockbare Bereiche in MDI-Registerkartendokumente. |
CBaseTabbedPane::EnableSetCaptionTextToTabName | Aktiviert oder deaktiviert die Möglichkeit des Registerkartenbereichs, Beschriftungstext mit dem Beschriftungstext auf der aktiven Registerkarte zu synchronisieren. |
CBaseTabbedPane::FillDefaultTabsOrderArray | Stellt die interne Aktivierreihenfolge in einem Standardzustand wieder her. |
CBaseTabbedPane::FindBarByTabNumber | Gibt einen Bereich zurück, der sich auf einer Registerkarte befindet, wenn die Registerkarte durch einen nullbasierten Registerkartenindex identifiziert wird. |
CBaseTabbedPane::FindPaneByID | Gibt einen Bereich zurück, der durch die Bereichs-ID identifiziert wird. |
CBaseTabbedPane::FloatTab | Hebt die Verankerung eines Bereichs auf, aber nur, wenn der Bereich sich auf einer lösbaren Registerkarte befindet. |
CBaseTabbedPane::GetDefaultTabsOrder | Gibt die Standardreihenfolge von Registerkarten im Bereich zurück. |
CBaseTabbedPane::GetFirstVisibleTab | Ruft einen Zeiger auf die erste angezeigte Registerkarte ab. |
CBaseTabbedPane::GetMinSize | Ruft die minimale zulässige Größe für den Bereich ab. (Außerkraftsetzungen CPane::GetMinSize.) |
CBaseTabbedPane::GetPaneIcon | Gibt ein Handle zum Bereichssymbol zurück. (Außerkraftsetzungen CBasePane::GetPaneIcon.) |
CBaseTabbedPane::GetPaneList | Gibt eine Liste von Bereichen zurück, die im Registerkartenbereich enthalten sind. |
CBaseTabbedPane::GetTabArea | Gibt die umgebenden Rechtecke für die oberen und unteren Registerkartenbereiche zurück. |
CBaseTabbedPane::GetTabsNum | Gibt die Anzahl der Registerkarten in einem Registerkartenfenster zurück. |
CBaseTabbedPane::GetUnderlyingWindow | Ruft das zugrunde liegende (umbrochene) Registerkartenfenster ab. |
CBaseTabbedPane::GetVisibleTabsNum | Gibt die Anzahl der angezeigten Registerkarten zurück. |
CBaseTabbedPane::HasAutoHideMode | Bestimmt, ob der Registerkartenbereich in den Automatisch ausblenden-Modus gewechselt werden kann. |
CBaseTabbedPane::IsHideSingleTab | Bestimmt, ob der Registerkartenbereich ausgeblendet ist, wenn nur eine Registerkarte angezeigt wird. |
CBaseTabbedPane::LoadSiblingPaneIDs |
Wird intern während der Serialisierung verwendet. |
CBaseTabbedPane::RecalcLayout | Berechnet Layoutinformationen für den Bereich neu. (Außerkraftsetzungen CPane::RecalcLayout.) |
CBaseTabbedPane::RemovePane | Entfernt einen Bereich aus dem Registerkartenbereich. |
CBaseTabbedPane::SaveSiblingBarIDs |
Wird intern während der Serialisierung verwendet. |
CBaseTabbedPane::Serialize |
(Außerkraftsetzungen CDockablePane::Serialize.) |
CBaseTabbedPane::SerializeTabWindow |
Wird intern während der Serialisierung verwendet. |
CBaseTabbedPane::SetAutoDestroy | Bestimmt, ob die Registerkartensteuerelementleiste automatisch zerstört wird. |
CBaseTabbedPane::SetAutoHideMode | Schaltet den Andockbereich zwischen dem angezeigten und automatischen Ausblenden um. (Außerkraftsetzungen CDockablePane::SetAutoHideMode.) |
CBaseTabbedPane::ShowTab | Blendet eine Registerkarte ein oder aus. |
Diese Klasse ist eine abstrakte Klasse und kann nicht instanziiert werden. Es implementiert die Dienste, die für alle Arten von Registerkartenfenstern gemeinsam sind.
Derzeit enthält die Bibliothek zwei abgeleitete Klassen im Registerkartenbereich: CTabbedPane-Klasse und CMFCOutlookBar-Klasse.
Ein CBaseTabbedPane
Objekt umschließt einen Zeiger auf ein CMFCBaseTabCtrl Class -Objekt. CMFCBaseTabCtrl-Klasse wird dann zu einem untergeordneten Fenster des Registerkartenbereichs.
Weitere Informationen zum Erstellen von Registerkartenbereichen finden Sie unter CDockablePane-Klasse, CTabbedPane-Klasse und CMFCOutlookBar-Klasse.
CBaseTabbedPane
Header: afxBaseTabbedPane.h
Fügt einem Registerkartenbereich eine neue Registerkarte hinzu.
virtual BOOL AddTab(
CWnd* pNewBar,
BOOL bVisible = TRUE,
BOOL bSetActive = TRUE,
BOOL bDetachable = TRUE);
pNewBar
[in, out] Ein Zeiger auf den hinzuzufügenden Bereich. Dieser Zeiger kann nach dem Aufrufen dieser Methode ungültig werden. Weitere Informationen finden Sie im Abschnitt Hinweise.
bVisible
[in] TRUE, um die Registerkarte sichtbar zu machen; andernfalls FALSE.
bSetActive
[in] TRUE, um die Registerkarte als aktive Registerkarte festzulegen; andernfalls FALSE.
bDetachable
[in] TRUE, um die Registerkarte zu trennen; andernfalls FALSE.
TRUE, wenn der Bereich erfolgreich als Registerkarte hinzugefügt und im Prozess nicht zerstört wurde. FALSE, wenn der hinzugefügte Bereich ein Objekt vom Typ CBaseTabbedPane
ist. Weitere Informationen finden Sie im Abschnitt mit Hinweisen.
Rufen Sie diese Methode auf, um einen Bereich als neue Registerkarte in einem Registerkartenbereich hinzuzufügen. Wenn pNewBar auf ein Objekt des Typs CBaseTabbedPane
zeigt, werden alle zugehörigen Registerkarten in den Registerkartenbereich kopiert und dann pNewBar zerstört. Daher wird pNewBar zu einem ungültigen Zeiger und sollte nicht verwendet werden.
Gibt an, ob ein leerer Registerkartenbereich zerstört werden kann.
virtual BOOL AllowDestroyEmptyTabbedPane() const;
TRUE, wenn ein leerer Registerkartenbereich zerstört werden kann; andernfalls FALSE. Die Standardimplementierung gibt immer TRUE zurück.
Wenn ein leerer Registerkartenbereich nicht zerstört werden darf, blendet das Framework stattdessen den Bereich aus.
Lädt Registerkarteneinstellungen aus der Registrierung und wendet sie auf einen Registerkartenbereich an.
virtual void ApplyRestoredTabInfo(BOOL bUseTabIndexes = FALSE);
bUseTabIndexes
[in] Dieser Parameter wird intern vom Framework verwendet.
Diese Methode wird vom Framework aufgerufen, wenn sie Andockstatusinformationen aus der Registrierung neu lädt. Die Methode ruft Informationen zu Aktivierreihenfolge und Registerkartennamen für einen Registerkartenbereich ab.
Gibt an, ob der Registerkartenbereich schweben kann.
virtual BOOL CanFloat() const;
TRUE, wenn der Bereich schweben kann; andernfalls FALSE.
Bestimmt, ob die Beschriftung für den Registerkartenbereich denselben Text wie die aktive Registerkarte anzeigen soll.
virtual BOOL CanSetCaptionTextToTabName() const;
TRUE, wenn der Beschriftungstext des Registerkartenbereichs auf den Text der aktiven Registerkarte festgelegt ist; andernfalls FALSE.
Die Methode wird verwendet, um zu bestimmen, ob der auf dem Registerkartenbereich angezeigte Text die Beschriftung der aktiven Registerkarte dupliziert. Sie können diese Funktionalität aktivieren oder deaktivieren, indem Sie CBaseTabbedPane::EnableSetCaptionTextToTabName aufrufen.
Konvertiert einen oder mehrere andockbare Bereiche in MDI-Registerkartendokumente.
virtual void ConvertToTabbedDocument(BOOL bActiveTabOnly = TRUE);
bActiveTabOnly
[in] Wenn Sie einen Registerkartenbereich konvertieren, geben Sie TRUE an, um nur die aktive Registerkarte zu konvertieren. Geben Sie FALSE an, um alle Registerkarten im Bereich zu konvertieren.
Trennt einen Bereich vom Registerkartenbereich.
virtual BOOL DetachPane(
CWnd* pBar,
BOOL bHide = FALSE);
pBar
[in] Zeigen Sie auf den Bereich, um den Bereich zu trennen.
bHide
[in] Boolescher Parameter, der angibt, ob das Framework den Bereich ausgeblendet, nachdem er getrennt wurde.
TRUE, wenn das Framework den Bereich erfolgreich trennt; FALSE, wenn pBar NULL ist oder auf einen Bereich verweist, der sich nicht im Registerkartenbereich befindet.
Das Framework schwebt den getrennten Bereich nach Möglichkeit. Weitere Informationen finden Sie unter CBasePane::CanFloat.
Aktiviert oder deaktiviert die Möglichkeit des Registerkartenbereichs, Beschriftungstext mit dem Beschriftungstext auf der aktiven Registerkarte zu synchronisieren.
virtual void EnableSetCaptionTextToTabName(BOOL bEnable);
bEnable
[in] TRUE, um die Beschriftung des Registerkartenbereichs mit der aktiven Registerkartenbeschriftung zu synchronisieren; andernfalls FALSE.
Stellt die interne Aktivierreihenfolge in einem Standardzustand wieder her.
void FillDefaultTabsOrderArray();
Diese Methode wird aufgerufen, wenn das Framework eine Outlook-Leiste in einen Anfangszustand zurückgibt.
Gibt einen Bereich zurück, der durch die Bereichs-ID identifiziert wird.
virtual CWnd* FindPaneByID(UINT uBarID);
uBarID
[in] Gibt die ID des zu suchenden Bereichs an.
Ein Zeiger auf den Bereich, wenn er gefunden wurde; andernfalls NULL.
Diese Methode vergleicht alle Registerkarten im Bereich und gibt die Zeichenfolge mit der id zurück, die durch den Parameter "uBarID " angegeben wurde.
Gibt einen Bereich zurück, der sich auf einer Registerkarte befindet.
virtual CWnd* FindBarByTabNumber(
int nTabNum,
BOOL bGetWrappedBar = FALSE);
nTabNum
[in] Gibt den nullbasierten Index der abzurufenden Registerkarte an.
bGetWrappedBar
[in] TRUE, um das zugrunde liegende (umbrochene) Fenster des Bereichs anstelle des Bereichs selbst zurückzugeben; andernfalls FALSE. Dies gilt nur für Bereiche, die von CDockablePaneAdapter abgeleitet sind.
Wenn der Bereich gefunden wird, wird ein gültiger Zeiger auf den gesuchten Bereich zurückgegeben. andernfalls NULL.
Rufen Sie diese Methode auf, um den Bereich abzurufen, der sich auf der registerkarte befindet, die durch den nTabNum-Parameter angegeben ist.
Hebt die Verankerung eines Bereichs auf, aber nur, wenn der Bereich sich auf einer lösbaren Registerkarte befindet.
virtual BOOL FloatTab(
CWnd* pBar,
int nTabID,
AFX_DOCK_METHOD dockMethod,
BOOL bHide = FALSE);
pBar
[in, out] Ein Zeiger auf den Bereich, der schwebt.
nTabID
[in] Gibt den nullbasierten Index der zu floatenden Registerkarte an.
dockMethod
[in] Gibt die Methode an, die zum Gleiten des Bereichs verwendet werden soll. Weitere Informationen finden Sie im Abschnitt Hinweise.
bHide
[in] TRUE, um den Bereich vor dem Unverankerten auszublenden; andernfalls FALSE.
TRUE, wenn der Bereich schwebte; andernfalls FALSE.
Rufen Sie diese Methode auf, um einen Bereich zu schweben, der sich derzeit auf einer trennbaren Registerkarte befindet.
Wenn Sie einen Bereich programmgesteuert trennen möchten, geben Sie DM_SHOW für den dockMethod-Parameter an. Wenn Sie den Bereich an derselben Position wie zuvor schweben möchten, geben Sie DM_DBL_CLICK als dockMethod-Parameter an.
Gibt die Standardreihenfolge von Registerkarten im Bereich zurück.
const CArray<int,int>& GetDefaultTabsOrder();
Ein CArray
Objekt, das die Standardreihenfolge von Registerkarten im Bereich angibt.
Das Framework ruft diese Methode auf, wenn eine Outlook-Leiste auf einen Anfangszustand zurückgesetzt wird.
Ruft einen Zeiger auf die erste angezeigte Registerkarte ab.
virtual CWnd* GetFirstVisibleTab(int& iTabNum);
iTabNum
[in] Ein Verweis auf eine ganze Zahl. Diese Methode schreibt den nullbasierten Index der ersten angezeigten Registerkarte in diesen Parameter oder -1, wenn keine angezeigte Registerkarte gefunden wird.
Bei erfolgreicher Ausführung zeigt ein Zeiger auf die erste angezeigte Registerkarte; andernfalls NULL.
Ruft die minimale zulässige Größe für den Bereich ab.
virtual void GetMinSize(CSize& size) const;
size
[out] Ein CSize
Objekt, das mit der minimal zulässigen Größe gefüllt ist.
Wenn eine konsistente Behandlung von Minimalbereichsgrößen aktiv ist ( CPane::m_bHandleMinSize), wird die Größe mit der minimal zulässigen Größe für die aktive Registerkarte gefüllt. Andernfalls wird die Größe mit dem Rückgabewert von CPane::GetMinSize gefüllt.
Ruft die minimale zulässige Größe für den Bereich ab.
virtual void GetMinSize(CSize& size) const;
size
[out] Ein CSize
Objekt, das mit der minimal zulässigen Größe gefüllt ist.
Wenn eine konsistente Behandlung von Minimalbereichsgrößen aktiv ist ( CPane::m_bHandleMinSize), wird die Größe mit der minimal zulässigen Größe für die aktive Registerkarte gefüllt. Andernfalls wird die Größe mit dem Rückgabewert von CPane::GetMinSize gefüllt.
Gibt eine Liste von Bereichen zurück, die im Registerkartenbereich enthalten sind.
virtual void GetPaneList(
CObList& lst,
CRuntimeClass* pRTCFilter = NULL);
Lst
[out] Ein CObList
Feld, das mit den Bereichen gefüllt ist, die im Registerkartenbereich enthalten sind.
pRTCFilter
[in] Wenn sie nicht NULL ist, enthält die zurückgegebene Liste nur Bereiche, die der angegebenen Laufzeitklasse entsprechen.
Gibt die umgebenden Rechtecke für die oberen und unteren Registerkartenbereiche zurück.
virtual void GetTabArea(
CRect& rectTabAreaTop,
CRect& rectTabAreaBottom) const = 0;
rectTabAreaTop
[out] Empfängt die Bildschirmkoordinaten des oberen Registerkartenbereichs.
rectTabAreaBottom
[out] Empfängt die Bildschirmkoordinaten des unteren Registerkartenbereichs.
Rufen Sie diese Methode auf, um die umgebenden Rechtecke in Bildschirmkoordinaten für die oberen und unteren Registerkartenbereiche zu bestimmen.
Gibt die Anzahl der Registerkarten in einem Registerkartenfenster zurück.
virtual int GetTabsNum() const;
Die Anzahl der Registerkarten im Registerkartenbereich.
Ruft das zugrunde liegende (umbrochene) Registerkartenfenster ab.
virtual CMFCBaseTabCtrl* GetUnderlyingWindow();
Ein Zeiger auf das zugrunde liegende Registerkartenfenster.
Gibt die Anzahl der sichtbaren Registerkarten zurück.
virtual int GetVisibleTabsNum() const;
Die Anzahl der sichtbaren Registerkarten, die größer oder gleich Null sein werden.
Rufen Sie diese Methode auf, um die Anzahl der sichtbaren Registerkarten im Registerkartenbereich zu ermitteln.
Bestimmt, ob der Bereich im Registerkartenformat automatisch in den Hintergrundmodus gewechselt werden kann.
virtual BOOL HasAutoHideMode() const;
TRUE, wenn der Bereich in den Autohidemodus gewechselt werden kann; andernfalls FALSE.
Wenn der Autohide-Modus deaktiviert ist, wird keine Schaltfläche "Anheften" auf der Beschriftung des Registerkartenbereichs angezeigt.
Bestimmt, ob der Registerkartenbereich ausgeblendet ist, wenn nur eine Registerkarte angezeigt wird.
virtual BOOL IsHideSingleTab() const;
TRUE, wenn das Registerkartenfenster nicht angezeigt wird, wenn nur eine sichtbare Registerkarte vorhanden ist. andernfalls FALSE.
Wenn der Bereich nicht angezeigt wird, da nur eine Registerkarte geöffnet ist, können Sie diese Methode aufrufen, um festzustellen, ob der Registerkartenbereich ordnungsgemäß funktioniert.
Entfernt einen Bereich aus dem Registerkartenbereich.
virtual BOOL RemovePane(CWnd* pBar);
pBar
[in, out] Ein Zeiger auf den Bereich, der aus dem Registerkartenbereich entfernt werden soll.
TRUE, wenn der Bereich erfolgreich aus dem Bereich im Registerkartenformat entfernt wurde und ob der Registerkartenbereich noch gültig ist. FALSE, wenn der letzte Bereich aus dem Bereich im Registerkartenformat entfernt wurde und der Registerkartenbereich gerade zerstört werden soll. Wenn der Rückgabewert FALSCH ist, verwenden Sie nicht mehr den Registerkartenbereich.
Rufen Sie diese Methode auf, um den durch den pBar-Parameter angegebenen Bereich aus dem Registerkartenbereich zu entfernen.
Bestimmt, ob die Registerkartensteuerelementleiste automatisch zerstört wird.
void SetAutoDestroy(BOOL bAutoDestroy = TRUE);
bAutoDestroy
[in] TRUE, wenn der Registerkartenbereich dynamisch erstellt wurde und Sie die Lebensdauer nicht steuern. andernfalls FALSE.
Legen Sie den Modus für die automatische Vernichtung auf TRUE fest, wenn Sie einen Bereich mit Registerkartenansicht dynamisch erstellen und dessen Lebensdauer nicht steuern. Wenn der Modus für die automatische Vernichtung TRUE ist, wird der Registerkartenbereich automatisch vom Framework zerstört.
Blendet eine Registerkarte ein oder aus.
virtual BOOL ShowTab(
CWnd* pBar,
BOOL bShow,
BOOL bDelay,
BOOL bActivate);
pBar
[in] Ein Zeiger auf den Bereich, der ein- oder ausgeblendet werden soll.
bShow
[in] TRUE, um den Bereich anzuzeigen; FALSE, um den Bereich auszublenden.
bDelay
[in] TRUE, um die Anpassung des Registerkartenlayouts zu verzögern; andernfalls FALSE.
bActivate
[in] TRUE, um die Registerkarte als aktive Registerkarte festzulegen; andernfalls FALSE.
TRUE, wenn die Registerkarte entweder angezeigt oder ausgeblendet wurde; andernfalls FALSE.
Wenn Sie diese Methode aufrufen, wird je nach Wert des bShow-Parameters entweder ein Bereich angezeigt oder ausgeblendet. Wenn Sie eine Registerkarte ausblenden und es sich um die letzte sichtbare Registerkarte im zugrunde liegenden Registerkartenfenster handelt, wird der Registerkartenbereich ausgeblendet. Wenn Sie eine Registerkarte anzeigen, wenn zuvor keine Registerkarten sichtbar waren, wird der Registerkartenbereich angezeigt.
Berechnet Layoutinformationen für den Bereich neu.
virtual void RecalcLayout();
Wenn der Bereich unverankert ist, benachrichtigt diese Methode das Framework, die Größe des Bereichs auf die aktuelle Größe des Miniframes zu ändern.
Wenn der Bereich angedockt ist, führt diese Methode nichts aus.
Legt den Modus für das automatische Ausblenden für trennbare Bereiche im Registerkartenbereich fest.
virtual CMFCAutoHideToolBar* SetAutoHideMode(
BOOL bMode,
DWORD dwAlignment,
CMFCAutoHideToolBar* pCurrAutoHideBar = NULL,
BOOL bUseTimer = TRUE);
bMode
[in] TRUE, um den Modus zum automatischen Ausblenden zu aktivieren; FALSE, um den regulären Andockmodus zu aktivieren.
dwAlignment
[in] Gibt die Ausrichtung des automatisch auszublendenden Bereichs an, der erstellt werden soll. Eine Liste der möglichen Werte finden Sie unter "CPane::MoveByAlignment".
pCurrAutoHideBar
[in, out] Ein Zeiger auf die aktuelle Symbolleiste für das automatische Ausblenden. Kann den Wert NULL haben.
bUseTimer
[in] Gibt an, ob der Auto-Ausblende-Effekt verwendet werden soll, wenn der Benutzer den Bereich in den Modus zum automatischen Ausblenden wechselt oder den Bereich sofort ausblenden soll.
Ein Zeiger auf die Automatisch ausblenden-Symbolleiste, die beim Wechseln zum automatischen Ausblenden erstellt wird, oder NULL, wenn keine Symbolleiste erstellt wird.
Das Framework ruft diese Methode auf, wenn ein Benutzer die Schaltfläche zum Anheften auswähelt, um den Registerkartenbereich in den automatischen Auszublendenmodus oder in den regulären Andockmodus zu wechseln.
Der Modus für das automatische Ausblenden wird für jeden getrennten Bereich im Registerkartenbereich festgelegt. Bereiche, die nicht trennen können, werden ignoriert. Weitere Informationen finden Sie unter CMFCBaseTabCtrl::EnableTabDetach.
Rufen Sie diese Methode auf, um einen Registerkartenbereich programmgesteuert in den Modus zum automatischen Ausblenden zu wechseln. Der Bereich muss an das Hauptrahmenfenster angedockt werden ( CDockablePane::GetDefaultPaneDivider muss einen gültigen Zeiger auf den CPaneDivider zurückgeben).