分享方式:


CMFCAutoHideBar 類別

CMFCAutoHideBar 類別是實作自動隱藏功能的特殊工具列類別。

如需詳細資訊,請參閱 Visual Studio 安裝的 VC\atlmfc\src\mfc 資料夾中的原始程式碼

語法

class CMFCAutoHideBar : public CPane

成員

公用建構函式

名稱 描述
CMFCAutoHideBar::CMFCAutoHideBar

公用方法

名稱 描述
CMFCAutoHideBar::AddAutoHideWindow
CMFCAutoHideBar::AllowShowOnPaneMenu (覆寫 CPane::AllowShowOnPaneMenu。)
CMFCAutoHideBar::CalcFixedLayout (覆寫 CBasePane::CalcFixedLayout .)
CMFCAutoHideBar::Create 建立控制項列,並將它附加至 CPane 物件。 (覆寫 CPane::Create .)
CMFCAutoHideBar::GetFirstAHWindow
CMFCAutoHideBar::GetVisibleCount
CMFCAutoHideBar::OnShowControlBarMenu 當特殊窗格功能表即將顯示時由架構呼叫。 (覆寫 CPane::OnShowControlBarMenu .)
CMFCAutoHideBar::RemoveAutoHideWindow
CMFCAutoHideBar::SetActiveInGroup (覆寫 CPane::SetActiveInGroup .)
CMFCAutoHideBar::SetRecentVisibleState
CMFCAutoHideBar::ShowAutoHideWindow
CMFCAutoHideBar::StretchPane 垂直或水平伸展窗格。 (覆寫 CBasePane::StretchPane .)
CMFCAutoHideBar::UnSetAutoHideMode
CMFCAutoHideBar::UpdateVisibleState

資料成員

名稱 描述
CMFCAutoHideBar::m_nShowAHWndDelay 當使用者將滑鼠游標放在 CMFCAutoHideButton 類別 ,以及架構顯示相關聯視窗的那一刻之間的時間延遲。

備註

當使用者將停駐窗格切換為自動隱藏模式時,架構會自動建立 CMFCAutoHideBar 物件。 它也會建立必要的 CAutoHideDockSite CMFCAutoHideButton 物件。 每個 CAutoHideDockSite 物件與一個個別的 CMFCAutoHideButton 相關聯。

當使用者的滑鼠停留在 CMFCAutoHideButton 上方時,CMFCAutoHideBar 類別會實作 CAutoHideDockSite 的顯示。 當工具列收到 WM_MOUSEMOVE 訊息時,CMFCAutoHideBar 會啟動計時器。 當計時器完成時,會將 WM_TIMER 事件通知傳送給工具列。 工具列會藉由檢查滑鼠指標是否放置在相同的自動隱藏按鈕上方 (在計時器啟動時所放置),以處理此事件。 如果是,則顯示附加的 CAutoHideDockSite

您可以設定 m_nShowAHWndDelay 來控制計時器的延遲長度。 預設值為 400 毫秒。

範例

下列範例示範如何建構 CMFCAutoHideBar 物件及使用其 GetDockSiteRow 方法。

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

繼承階層架構

CObject

CCmdTarget

CWnd

CBasePane

CPane

CMFCAutoHideBar

需求

標頭: afxautohidebar.h

CMFCAutoHideBar::AddAutoHideWindow

將功能加入 CDockablePane 視窗以自動隱藏該功能。

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

參數

pAutoHideWnd
[in]您想要隱藏的視窗。

dwAlignment
[in]值,指定自動隱藏按鈕與應用程式視窗的對齊方式。

傳回值

備註

dwAlignment 參數會指出自動隱藏按鈕位於應用程式中的位置。 這個參數可以是下列任何一個值:

  • CBRS_ALIGN_LEFT

  • CBRS_ALIGN_RIGHT

  • CBRS_ALIGN_TOP

  • CBRS_ALIGN_BOTTOM

CMFCAutoHideBar::AllowShowOnPaneMenu

virtual BOOL AllowShowOnPaneMenu() const;

傳回值

備註

CMFCAutoHideBar::CalcFixedLayout

virtual CSize CalcFixedLayout(
    BOOL bStretch,
    BOOL bHorz);

參數

[in] bStretch

[in] bHorz

傳回值

備註

CMFCAutoHideBar::CMFCAutoHideBar

建構 CMFCAutoHideBar 物件。

CMFCAutoHideBar();

備註

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

參數

lpszClassName

dwStyle

矩形

pParentWnd

nID

dwControlBarStyle

pContext

傳回值

備註

CMFCAutoHideBar::GetFirstAHWindow

傳回應用程式中第一個自動隱藏視窗的指標。

CDockablePane* GetFirstAHWindow();

傳回值

應用程式中的第一個自動隱藏視窗,或如果沒有,則為 NULL。

備註

CMFCAutoHideBar::GetVisibleCount

取得可見的自動隱藏按鈕數目。

int GetVisibleCount();

傳回值

傳回可見的自動隱藏按鈕數目。

備註

CMFCAutoHideBar::m_nShowAHWndDelay

當使用者將滑鼠游標放在 CMFCAutoHideButton 類別 ,以及架構顯示相關聯視窗的那一刻之間的時間延遲。

int CMFCAutoHideBar::m_nShowAHWndDelay = 400;

備註

當使用者將滑鼠游標放在 上方 CMFCAutoHideButton 時,架構會顯示相關聯的視窗之前會有輕微的延遲。 此參數會以毫秒為單位來判斷該延遲的長度。

CMFCAutoHideBar::OnShowControlBarMenu

virtual BOOL OnShowControlBarMenu(CPoint);

參數

[in] CPoint

傳回值

備註

CMFCAutoHideBar::RemoveAutoHideWindow

移除和終結自動隱藏視窗。

    BOOL RemoveAutoHideWindow(CDockablePane* pAutoHideWnd);

參數

CDockablePane* pAutoHideWnd 要移除的自動隱藏視窗。

傳回值

如果成功,則為 TRUE,否則為 FALSE。

備註

CMFCAutoHideBar::SetActiveInGroup

將自動隱藏列標幟為作用中。

virtual void SetActiveInGroup(BOOL bActive);

參數

[in]BOOL bActive TRUE 設為作用中,否則為 FALSE。

備註

請參閱 CPane::SetActiveInGroup

CMFCAutoHideBar::SetRecentVisibleState

void SetRecentVisibleState(BOOL bState);

參數

bState
[in]要設定的狀態。

備註

CMFCAutoHideBar::ShowAutoHideWindow

顯示自動隱藏視窗。

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

參數

pAutoHideWnd
[in]要顯示的視窗。

bShow
[in]TRUE 可顯示視窗。

bDelay
[in]這個參數會被忽略。

傳回值

如果成功,則為 TRUE,否則為 FALSE。

備註

CMFCAutoHideBar::StretchPane

將摺疊狀態的自動隱藏列調整成適合 CMFCAutoHideButton 物件的大小。

virtual CSize StretchPane(
    int nLength,
    BOOL bVert);

參數

nLength
[in]值在基底實作中未使用。 在衍生實作中,這個值可用來表示已調整窗格的長度。

bVert
[in]值在基底實作中未使用。 在衍生實作中,使用 TRUE 來處理自動隱藏列垂直折迭的情況,如果自動隱藏列水準折迭,則為 FALSE。

傳回值

產生的已調整窗格大小。

備註

衍生類別可以覆寫這個方法以自訂行為。

CMFCAutoHideBar::UnSetAutoHideMode

停用自動隱藏列群組的自動隱藏模式。

void UnSetAutoHideMode(CDockablePane* pFirstBarInGroup)

參數

[in] pFirstBarInGroup 群組中第一個自動隱藏列的指標。

備註

CMFCAutoHideBar::UpdateVisibleState

架構會在需要重新繪製自動隱藏列時呼叫。

void UpdateVisibleState();

備註

另請參閱

階層架構圖表
類別
CPane 類別
CAutoHideDockSite 類別
CMFCAutoHideButton 類別