CMFCAutoHideBar 類別
CMFCAutoHideBar
類別是實作自動隱藏功能的特殊工具列類別。
如需更多詳細資料,請參閱 Visual Studio 安裝位置下之 VC\atlmfc\src\mfc 資料夾中的原始程式碼。
語法
class CMFCAutoHideBar : public CPane
成員
公用建構函式
名稱 | 描述 |
---|---|
CMFCAutoHideBar::CMFCAutoHideBar |
公用方法
資料成員
名稱 | 描述 |
---|---|
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();
繼承階層架構
需求
標頭: 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
rect
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。
備註
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 類別