Udostępnij za pośrednictwem


Klasa CMFCAutoHideBar

Klasa to specjalna CMFCAutoHideBar klasa paska narzędzi, która implementuje funkcję automatycznego ukrywania.

Aby uzyskać więcej informacji, zobacz kod źródłowy znajdujący się w folderze VC\atlmfc\src\mfc instalacji programu Visual Studio.

Składnia

class CMFCAutoHideBar : public CPane

Elementy członkowskie

Konstruktory publiczne

Nazwa/nazwisko opis
CMFCAutoHideBar::CMFCAutoHideBar

Metody publiczne

Nazwa/nazwisko opis
CMFCAutoHideBar::AddAutoHideWindow
CMFCAutoHideBar::AllowShowOnPaneMenu (Przesłania CPane::AllowShowOnPaneMenu).
CMFCAutoHideBar::CalcFixedLayout (Przesłonięcia) CBasePane::CalcFixedLayout).
CMFCAutoHideBar::Create Tworzy pasek sterowania i dołącza go do obiektu CPane . (Przesłonięcia) CPane::Create.)
CMFCAutoHideBar::GetFirstAHWindow
CMFCAutoHideBar::GetVisibleCount
CMFCAutoHideBar::OnShowControlBarMenu Wywoływana przez platformę, gdy ma być wyświetlane specjalne menu okienka. (Przesłonięcia) CPane::OnShowControlBarMenu.)
CMFCAutoHideBar::RemoveAutoHideWindow
CMFCAutoHideBar::SetActiveInGroup (Przesłonięcia) CPane::SetActiveInGroup.
CMFCAutoHideBar::SetRecentVisibleState
CMFCAutoHideBar::ShowAutoHideWindow
CMFCAutoHideBar::StretchPane Rozciąga okienko w pionie lub w poziomie. (Przesłonięcia) CBasePane::StretchPane.)
CMFCAutoHideBar::UnSetAutoHideMode
CMFCAutoHideBar::UpdateVisibleState

Składowe danych

Nazwa/nazwisko opis
CMFCAutoHideBar::m_nShowAHWndDelay Opóźnienie czasu między momentem, w którym użytkownik umieszcza kursor myszy na klasie CMFCAutoHideButton, a momentem, w którym platforma wyświetla skojarzone okno.

Uwagi

Gdy użytkownik przełącza okienko docku do trybu automatycznego ukrywania, platforma automatycznie tworzy CMFCAutoHideBar obiekt. Tworzy również niezbędne obiekty CAutoHideDockSite i CMFCAutoHideButton . Każdy CAutoHideDockSite obiekt jest skojarzony z pojedynczym CMFCAutoHideButtonobiektem .

Klasa CMFCAutoHideBar implementuje wyświetlanie CAutoHideDockSite obiektu, gdy wskaźnik myszy użytkownika znajduje się na CMFCAutoHideButtonobiekcie . Gdy pasek narzędzi odbiera komunikat WM_MOUSEMOVE, CMFCAutoHideBar uruchamia czasomierz. Po zakończeniu czasomierza wysyła na pasku narzędzi WM_TIMER powiadomienie o zdarzeniu. Pasek narzędzi obsługuje to zdarzenie, sprawdzając, czy wskaźnik myszy jest umieszczony na tym samym przycisku automatycznego ukrywania, który został umieszczony po uruchomieniu czasomierza. Jeśli tak jest, zostanie wyświetlony dołączony CAutoHideDockSite .

Możesz kontrolować długość opóźnienia czasomierza, ustawiając wartość m_nShowAHWndDelay. Wartość domyślna to 400 ms.

Przykład

W poniższym przykładzie pokazano, jak skonstruować CMFCAutoHideBar obiekt i używać jego GetDockSiteRow metody.

CMFCAutoHideBar *pParentBar = new CMFCAutoHideBar();
CDockingPanesRow *pParentRow = pParentBar->GetDockSiteRow();

Hierarchia dziedziczenia

Obiekt CObject

CCmdTarget

CWnd

CBasePane

CPane

CMFCAutoHideBar

Wymagania

Nagłówek: afxautohidebar.h

CMFCAutoHideBar::AddAutoHideWindow

Dodaje funkcje do CDockablePane okna, które umożliwia automatyczne ukrywanie.

CMFCAutoHideButton* AddAutoHideWindow(
    CDockablePane* pAutoHideWnd,
    DWORD dwAlignment);

Parametry

pAutoHideWnd
[in] Okno, które chcesz ukryć.

dwAlignment
[in] Wartość określająca wyrównanie przycisku automatycznego ukrywania za pomocą okna aplikacji.

Wartość zwracana

Uwagi

Parametr dwAlignment wskazuje, gdzie w aplikacji znajduje się przycisk automatycznego ukrywania. Parametr może być jedną z następujących wartości:

  • CBRS_ALIGN_LEFT

  • CBRS_ALIGN_RIGHT

  • CBRS_ALIGN_TOP

  • CBRS_ALIGN_BOTTOM

CMFCAutoHideBar::AllowShowOnPaneMenu

virtual BOOL AllowShowOnPaneMenu() const;

Wartość zwracana

Uwagi

CMFCAutoHideBar::CalcFixedLayout

virtual CSize CalcFixedLayout(
    BOOL bStretch,
    BOOL bHorz);

Parametry

[in] bStretch

[in] bHorz

Wartość zwracana

Uwagi

CMFCAutoHideBar::CMFCAutoHideBar

Tworzy obiekt CMFCAutoHideBar.

CMFCAutoHideBar();

Uwagi

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

Parametry

lpszClassName

dwStyle

Rect

pParentWnd

Nid

dwControlBarStyle

pContext

Wartość zwracana

Uwagi

CMFCAutoHideBar::GetFirstAHWindow

Zwraca wskaźnik do pierwszego okna automatycznego ukrywania w aplikacji.

CDockablePane* GetFirstAHWindow();

Wartość zwracana

Pierwsze okno automatycznego ukrywania w aplikacji lub wartość NULL, jeśli nie istnieje.

Uwagi

CMFCAutoHideBar::GetVisibleCount

Pobiera liczbę widocznych przycisków automatycznego ukrywania.

int GetVisibleCount();

Wartość zwracana

Zwraca liczbę widocznych przycisków automatycznego ukrywania.

Uwagi

CMFCAutoHideBar::m_nShowAHWndDelay

Opóźnienie czasu między momentem, w którym użytkownik umieszcza kursor myszy na klasie CMFCAutoHideButton, a momentem, w którym platforma wyświetla skojarzone okno.

int CMFCAutoHideBar::m_nShowAHWndDelay = 400;

Uwagi

Gdy użytkownik umieszcza kursor myszy na CMFCAutoHideButtonobiekcie , występuje niewielkie opóźnienie, zanim platforma wyświetli skojarzone okno. Ten parametr określa długość tego opóźnienia w milisekundach.

CMFCAutoHideBar::OnShowControlBarMenu

virtual BOOL OnShowControlBarMenu(CPoint);

Parametry

[in] CPoint

Wartość zwracana

Uwagi

CMFCAutoHideBar::RemoveAutoHideWindow

Usuwa i niszczy okno automatycznego ukrywania.

    BOOL RemoveAutoHideWindow(CDockablePane* pAutoHideWnd);

Parametry

CDockablePane* pAutoHideWnd okno automatycznego ukrywania do usunięcia.

Wartość zwracana

Wartość TRUE, jeśli operacja zakończyła się pomyślnie; w przeciwnym razie FAŁSZ.

Uwagi

CMFCAutoHideBar::SetActiveInGroup

Flaguje pasek automatycznego ukrywania jako aktywny.

virtual void SetActiveInGroup(BOOL bActive);

Parametry

[in] Wartość BOOL bActive TRUE, aby ustawić wartość active; w przeciwnym razie WARTOŚĆ FALSE.

Uwagi

Zobacz CPane::SetActiveInGroup.

CMFCAutoHideBar::SetRecentVisibleState

void SetRecentVisibleState(BOOL bState);

Parametry

bState
[in] Stan do ustawienia.

Uwagi

CMFCAutoHideBar::ShowAutoHideWindow

Wyświetla okno automatycznego ukrywania.

BOOL ShowAutoHideWindow(
    CDockablePane* pAutoHideWnd,
    BOOL bShow,
    BOOL bDelay);

Parametry

pAutoHideWnd
[in] Okno do wyświetlenia.

bShow
[in] Wartość TRUE, aby wyświetlić okno.

bDelay
[in] Ten parametr jest ignorowany.

Wartość zwracana

Wartość TRUE, jeśli operacja zakończyła się pomyślnie; w przeciwnym razie FAŁSZ.

Uwagi

CMFCAutoHideBar::StretchPane

Zmienia rozmiar paska automatycznego ukrywania w stanie zwiniętym CMFCAutoHideButton , aby dopasować go do obiektu.

virtual CSize StretchPane(
    int nLength,
    BOOL bVert);

Parametry

nLength
[in] Wartość jest nieużywany w implementacji podstawowej. W implementacjach pochodnych użyj tej wartości, aby wskazać długość okienka o zmienionym rozmiarze.

bVert
[in] Wartość jest nieużywany w implementacji podstawowej. W implementacjach pochodnych użyj wartości TRUE, aby obsłużyć przypadek, w którym pasek automatycznego ukrywania jest zwinięty w pionie, a w przypadku, gdy pasek automatycznego ukrywania jest zwinięty w poziomie.

Wartość zwracana

Wynikowy rozmiar okienka o zmienionym rozmiarze.

Uwagi

Klasy pochodne mogą zastąpić tę metodę, aby dostosować zachowanie.

CMFCAutoHideBar::UnSetAutoHideMode

Wyłącza tryb automatycznego ukrywania dla grupy pasków automatycznego ukrywania.

void UnSetAutoHideMode(CDockablePane* pFirstBarInGroup)

Parametry

[in] pFirstBarInGroup Wskaźnik A do pierwszego paska automatycznego ukrywania w grupie.

Uwagi

CMFCAutoHideBar::UpdateVisibleState

Wywoływana przez strukturę, gdy pasek automatycznego ukrywania musi zostać ponownie wyrysowany.

void UpdateVisibleState();

Uwagi

Zobacz też

Wykres hierarchii
Klasy
Klasa CPane
Klasa CAutoHideDockSite
Klasa CMFCAutoHideButton