CMFCAutoHideBar-Klasse
Die CMFCAutoHideBar
-Klasse ist eine besondere Symbolleistenklasse, die die Funktion „Automatisch im Hintergrund“ implementiert.
Ausführliche Informationen finden Sie im Quellcode des Ordners VC\atlmfc\src\mfc der Visual Studio-Installation.
Syntax
class CMFCAutoHideBar : public CPane
Member
Öffentliche Konstruktoren
Name | Beschreibung |
---|---|
CMFCAutoHideBar::CMFCAutoHideBar |
Öffentliche Methoden
Name | Beschreibung |
---|---|
CMFCAutoHideBar::AddAutoHideWindow | |
CMFCAutoHideBar::AllowShowOnPaneMenu | (Überschreibt CPane::AllowShowOnPaneMenu .) |
CMFCAutoHideBar::CalcFixedLayout | (Außerkraftsetzungen CBasePane::CalcFixedLayout.) |
CMFCAutoHideBar::Create | Erstellt eine Steuerelementleiste und fügt sie an das CPane -Objekt an. (Außerkraftsetzungen CPane::Create.) |
CMFCAutoHideBar::GetFirstAHWindow | |
CMFCAutoHideBar::GetVisibleCount | |
CMFCAutoHideBar::OnShowControlBarMenu | Wird von Framework aufgerufen, kurz bevor ein spezielles Bereichsmenü angezeigt wird. (Außerkraftsetzungen CPane::OnShowControlBarMenu.) |
CMFCAutoHideBar::RemoveAutoHideWindow | |
CMFCAutoHideBar::SetActiveInGroup | (Außerkraftsetzungen CPane::SetActiveInGroup.) |
CMFCAutoHideBar::SetRecentVisibleState | |
CMFCAutoHideBar::ShowAutoHideWindow | |
CMFCAutoHideBar::StretchPane | Streckt einen Bereich vertikal oder horizontal. (Außerkraftsetzungen CBasePane::StretchPane.) |
CMFCAutoHideBar::UnSetAutoHideMode | |
CMFCAutoHideBar::UpdateVisibleState |
Datenelemente
Name | Beschreibung |
---|---|
CMFCAutoHideBar::m_nShowAHWndDelay | Die Zeitverzögerung zwischen dem Moment, in dem der Benutzer den Mauszeiger über eine CMFCAutoHideButton-Klasse platziert, und den Moment, in dem das Framework das zugeordnete Fenster anzeigt. |
Hinweise
Wenn der Benutzer für einen Dockbereich den Modus „Automatisches Ausblenden“ auswählt, erstellt das Framework automatisch ein CMFCAutoHideBar
-Objekt. Außerdem werden die erforderlichen CAutoHideDockSite - und CMFCAutoHideButton-Objekte erstellt. Jedes CAutoHideDockSite
-Objekt bezieht sich auf ein einzelne CMFCAutoHideButton
.
Die CMFCAutoHideBar
-Klasse implementiert die Anzeige einer CAutoHideDockSite
, wenn ein Benutzer die Maus über eine CMFCAutoHideButton
bewegt. Wenn die Symbolleiste eine WM_MOUSEMOVE-Meldung empfängt, startet CMFCAutoHideBar
einen Timer. Wenn der Timer fertig ist, sendet er eine WM_TIMER-Ereignisbenachrichtigung an die Symbolleiste. Die Symbolleiste verarbeitet dieses Ereignis, indem geprüft wird, ob sich der Mauszeiger über der gleichen automatisch ausblendbaren Schaltfläche befindet, über der er sich befand, als der Zeitgeber gestartet wurde. Wenn dies der Fall ist, wird die angehängte CAutoHideDockSite
angezeigt.
Sie können die Länge der Verzögerung für den Timer durch Festlegen von m_nShowAHWndDelay
steuern. Der Standardwert ist 400 ms.
Beispiel
Das folgende Beispiel veranschaulicht das Erstellen eines CMFCAutoHideBar
-Objekts und die Verwendung der GetDockSiteRow
-Methode.
CMFCAutoHideBar *pParentBar = new CMFCAutoHideBar();
CDockingPanesRow *pParentRow = pParentBar->GetDockSiteRow();
Vererbungshierarchie
Anforderungen
Header: afxautohidebar.h
CMFCAutoHideBar::AddAutoHideWindow
Fügt einem CDockablePane
.Fenster Funktionalität hinzu, die ihm automatisches Ausblenden ermöglicht.
CMFCAutoHideButton* AddAutoHideWindow(
CDockablePane* pAutoHideWnd,
DWORD dwAlignment);
Parameter
pAutoHideWnd
[in] Das Fenster, das Sie ausblenden möchten.
dwAlignment
[in] Ein Wert, der die Ausrichtung der Schaltfläche zum automatischen Ausblenden mit dem Anwendungsfenster angibt.
Rückgabewert
Bemerkungen
Der dwAlignment-Parameter gibt an, wo sich die Schaltfläche zum automatischen Ausblenden in der Anwendung befindet. Der Parameter kann auf einen der folgenden Werte festgelegt werden:
CBRS_ALIGN_LEFT
CBRS_ALIGN_RIGHT
CBRS_ALIGN_TOP
CBRS_ALIGN_BOTTOM
CMFCAutoHideBar::AllowShowOnPaneMenu
virtual BOOL AllowShowOnPaneMenu() const;
Rückgabewert
Bemerkungen
CMFCAutoHideBar::CalcFixedLayout
virtual CSize CalcFixedLayout(
BOOL bStretch,
BOOL bHorz);
Parameter
[in] bStretch
[in] bHorz
Rückgabewert
Bemerkungen
CMFCAutoHideBar::CMFCAutoHideBar
Erstellt ein CMFCAutoHideBar-Objekt.
CMFCAutoHideBar();
Hinweise
CMFCAutoHideBar::Create
virtual BOOL Create(
LPCTSTR lpszClassName,
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID,
DWORD dwControlBarStyle = AFX_DEFAULT_PANE_STYLE,
CCreateContext* pContext = NULL);
Parameter
lpszClassName
dwStyle
rect
pParentWnd
Nid
dwControlBarStyle
pContext
Rückgabewert
Bemerkungen
CMFCAutoHideBar::GetFirstAHWindow
Gibt einen Zeiger auf das erste automatisch ausblendbare Fenster in der Anwendung zurück.
CDockablePane* GetFirstAHWindow();
Rückgabewert
Das erste automatisch ausblendbare Fenster in der Anwendung oder NULL, wenn keines vorhanden ist.
Hinweise
CMFCAutoHideBar::GetVisibleCount
Ruft die Anzahl der angezeigten automatisch ausblendbaren Schaltflächen ab.
int GetVisibleCount();
Rückgabewert
Gibt die Anzahl der angezeigten automatisch ausblendbaren Schaltflächen zurück.
Hinweise
CMFCAutoHideBar::m_nShowAHWndDelay
Die Zeitverzögerung zwischen dem Moment, in dem der Benutzer den Mauszeiger über eine CMFCAutoHideButton-Klasse platziert, und den Moment, in dem das Framework das zugeordnete Fenster anzeigt.
int CMFCAutoHideBar::m_nShowAHWndDelay = 400;
Hinweise
Wenn der Benutzer den Mauszeiger über einen CMFCAutoHideButton
Cursor platziert, gibt es eine leichte Verzögerung, bevor das Framework das zugeordnete Fenster anzeigt. Dieser Parameter bestimmt die Länge dieser Verzögerung in Millisekunden.
CMFCAutoHideBar::OnShowControlBarMenu
virtual BOOL OnShowControlBarMenu(CPoint);
Parameter
[in] CPoint
Rückgabewert
Bemerkungen
CMFCAutoHideBar::RemoveAutoHideWindow
Entfernt und zerstört das Automatisch-im-Hintergrund-Fenster.
BOOL RemoveAutoHideWindow(CDockablePane* pAutoHideWnd);
Parameter
CDockablePane* pAutoHideWnd Das zu entfernende Fenster automatisch ausblenden.
Rückgabewert
TRUE, wenn erfolgreich, andernfalls FALSE.
Hinweise
CMFCAutoHideBar::SetActiveInGroup
Kennzeichnet eine Automatisch-im-Hintergrund-Leiste als aktiv.
virtual void SetActiveInGroup(BOOL bActive);
Parameter
[in] BOOL bActive TRUE, das auf "aktiv" festgelegt werden soll; andernfalls FALSE.
Hinweise
Siehe CPane::SetActiveInGroup.
CMFCAutoHideBar::SetRecentVisibleState
void SetRecentVisibleState(BOOL bState);
Parameter
bState
[in] Der festzulegende Zustand.
Hinweise
CMFCAutoHideBar::ShowAutoHideWindow
Zeigt das automatisch ausblendbare Fenster an.
BOOL ShowAutoHideWindow(
CDockablePane* pAutoHideWnd,
BOOL bShow,
BOOL bDelay);
Parameter
pAutoHideWnd
[in] Anzuzeigende Fenster.
bShow
[in] TRUE, um das Fenster anzuzeigen.
bDelay
[in] Dieser Parameter wird ignoriert.
Rückgabewert
TRUE, wenn erfolgreich, andernfalls FALSE.
Hinweise
CMFCAutoHideBar::StretchPane
Ändert die Größe der automatisch ausblendbaren Leiste im reduzierten Zustand, um dem CMFCAutoHideButton
-Objekt zu entsprechen.
virtual CSize StretchPane(
int nLength,
BOOL bVert);
Parameter
nLength
[in] Der Wert wird in der Basisimplementierung nicht verwendet. Verwenden Sie diesen Wert in abgeleiteten Implementierungen, um die Länge des Bereichs mit der geänderten Größe anzuzeigen.
bVert
[in] Der Wert wird in der Basisimplementierung nicht verwendet. Verwenden Sie in abgeleiteten Implementierungen WAHR, um den Fall zu behandeln, in dem die Leiste für das automatische Ausblenden vertikal reduziert wird, und FALSE für den Fall, dass die Auto-Ausblenden-Leiste horizontal reduziert wird.
Rückgabewert
Die resultierende Größe des Bereichs, dessen Größe geändert wurde.
Hinweise
Abgeleitete Klassen können diese Methode zum Anpassen des Verhaltens außer Kraft setzen.
CMFCAutoHideBar::UnSetAutoHideMode
Deaktiviert den automatischen Ausblendemodus für eine Gruppe von automatisch ausblendbaren Leisten.
void UnSetAutoHideMode(CDockablePane* pFirstBarInGroup)
Parameter
[in] pFirstBarInGroup A-Zeiger auf die erste automatische Ausblendeleiste in der Gruppe.
Hinweise
CMFCAutoHideBar::UpdateVisibleState
Wird vom Framework aufgerufen, wenn die automatisch ausblendbare Leiste neu gezeichnet werden muss.
void UpdateVisibleState();
Hinweise
Weitere Informationen
Hierarchiediagramm
Klassen
CPane-Klasse
CAutoHideDockSite-Klasse
CMFCAutoHideButton-Klasse