CMFCAutoHideBar-Klasse

Die CMFCAutoHideBar-Klasse ist eine besondere Symbolleistenklasse, die die Funktion „Automatisch im Hintergrund“ implementiert.

Weitere Details finden Sie im Quellcode im Ordner VC\atlmfc\src\mfc Ihrer 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

CObject

CCmdTarget

CWnd

CBasePane

CPane

CMFCAutoHideBar

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 CMFCAutoHideButtonCursor 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

Siehe auch

Hierarchiediagramm
Klassen
CPane-Klasse
CAutoHideDockSite-Klasse
CMFCAutoHideButton-Klasse