CMFCVisualManagerWindows 類別
CMFCVisualManagerWindows
當用戶選取 Windows XP 或 Vista 主題時,會模擬Microsoft Windows XP 或 Microsoft Vista 的外觀。
如需更多詳細資料,請參閱 Visual Studio 安裝位置下之 VC\atlmfc\src\mfc 資料夾中的原始程式碼。
語法
class CMFCVisualManagerWindows : public CMFCVisualManagerOfficeXP
成員
公用建構函式
名稱 | 描述 |
---|---|
CMFCVisualManagerWindows::CMFCVisualManagerWindows |
預設建構函式。 |
公用方法
資料成員
名稱 | 描述 |
---|---|
CMFCVisualManagerWindows::m_b3DTabsXPTheme | 指定 Windows XP 主題是否顯示 3D 索引標籤。 |
備註
使用 類別 CMFCVisualManagerWindows
來變更應用程序的外觀,以模擬應用程式執行所在計算機上的目前主題。
不過,如果您的應用程式在 Windows XP 之前的 Windows 版本上執行,或因為使用者正在使用傳統檢視而停用主題,則 Windows 主題可能無法使用。 如果沒有可用的主題,應用程式會使用 CMFCVisualManager 中定義的預設視覺管理員。
範例
下列範例示範如何使用 CMFCVisualManagerWindows
。 此代碼段是桌面警示示範範例的一部分。
CMFCVisualManager::SetDefaultManager(RUNTIME_CLASS(CMFCVisualManagerWindows));
繼承階層架構
需求
標頭: afxvisualmanagerwindows.h
CMFCVisualManagerWindows::AlwaysHighlight3DTabs
virtual BOOL AlwaysHighlight3DTabs() const;
傳回值
備註
CMFCVisualManagerWindows::CMFCVisualManagerWindows
CMFCVisualManagerWindows(BOOL bIsTemporary = FALSE);
參數
[in] bIsTemporary
備註
CMFCVisualManagerWindows::D rawComboBorderWinXP
virtual BOOL DrawComboBorderWinXP(
CDC* pDC,
CRect rect,
BOOL bDisabled,
BOOL bIsDropped,
BOOL bIsHighlighted);
參數
[in] pDC
[in] rect
[in] bDisabled
[in] bIsDropped
[in] bIsHighlighted
傳回值
備註
CMFCVisualManagerWindows::D rawComboDropButtonWinXP
virtual BOOL DrawComboDropButtonWinXP(
CDC* pDC,
CRect rect,
BOOL bDisabled,
BOOL bIsDropped,
BOOL bIsHighlighted);
參數
[in] pDC
[in] rect
[in] bDisabled
[in] bIsDropped
[in] bIsHighlighted
傳回值
備註
CMFCVisualManagerWindows::D rawPushButtonWinXP
virtual BOOL DrawPushButtonWinXP(
CDC* pDC,
CRect rect,
CMFCButton* pButton,
UINT uiState);
參數
[in] pDC
[in] rect
[in] pButton
[in] uiState
傳回值
備註
CMFCVisualManagerWindows::GetButtonExtraBorder
virtual CSize GetButtonExtraBorder() const;
傳回值
備註
CMFCVisualManagerWindows::GetCaptionButtonExtraBorder
virtual CSize GetCaptionButtonExtraBorder() const;
傳回值
備註
CMFCVisualManagerWindows::GetDockingPaneCaptionExtraHeight
virtual int GetDockingPaneCaptionExtraHeight() const;
傳回值
備註
CMFCVisualManagerWindows::GetHighlightedMenuItemTextColor
virtual COLORREF GetHighlightedMenuItemTextColor(CMFCToolBarMenuButton* pButton);
參數
[in] pButton
傳回值
備註
CMFCVisualManagerWindows::GetPopupMenuGap
virtual int GetPopupMenuGap() const;
傳回值
備註
CMFCVisualManagerWindows::GetToolbarButtonTextColor
virtual COLORREF GetToolbarButtonTextColor(
CMFCToolBarButton* pButton,
CMFCVisualManager::AFX_BUTTON_STATE state);
參數
[in] pButton
[in] 州
傳回值
備註
CMFCVisualManagerWindows::IsDefaultWinXPPopupButton
virtual BOOL IsDefaultWinXPPopupButton(CMFCDesktopAlertWndButton* pButton) const;
參數
[in] pButton
傳回值
備註
CMFCVisualManagerWindows::IsHighlightWholeMenuItem
virtual BOOL IsHighlightWholeMenuItem();
傳回值
備註
CMFCVisualManagerWindows::IsOfficeStyleMenus
BOOL IsOfficeStyleMenus() const;
傳回值
備註
CMFCVisualManagerWindows::IsOfficeXPStyleMenus
virtual BOOL IsOfficeXPStyleMenus() const;
傳回值
備註
CMFCVisualManagerWindows::IsWindowsThemingSupported
virtual BOOL IsWindowsThemingSupported() const;
傳回值
備註
CMFCVisualManagerWindows::IsWinXPThemeAvailable
判斷 Windows 主題是否可用。
static BOOL IsWinXPThemeAvailible();
傳回值
如果主題可用,則為非零;否則為 0。
備註
此方法適用於所有 Windows XP 和更新版本主題。
IsWinXPThemeAvailable
與 CMFCVisualManagerWindows::IsWindowsThemingAvailable
相同,不同之處在於 IsWinXPThemeAvailable
是靜態方法。 因此,如果不存在,它會建立暫時的視覺管理員。
IsWinXPThemeAvailable
一律會針對 Windows XP 之前的 Windows 版本傳回 0s。
CMFCVisualManagerWindows::m_b3DTabsXPTheme
布爾參數,決定視覺管理員是否顯示 3D 索引標籤。
AFX_IMPORT_DATA static BOOL m_b3DTabsXPTheme;
CMFCVisualManagerWindows::OnDrawBarGripper
virtual void OnDrawBarGripper(
CDC* pDC,
CRect rectGripper,
BOOL bHorz,
CBasePane* pBar);
參數
[in] pDC
[in] rectGripper
[in] bHorz
[in] pBar
備註
CMFCVisualManagerWindows::OnDrawBrowseButton
virtual BOOL OnDrawBrowseButton(
CDC* pDC,
CRect rect,
CMFCEditBrowseCtrl* pEdit,
CMFCVisualManager::AFX_BUTTON_STATE state,
COLORREF& clrText);
參數
[in] pDC
[in] rect
[in] pEdit
[in] 州
[in] clrText
傳回值
備註
CMFCVisualManagerWindows::OnDrawButtonBorder
virtual void OnDrawButtonBorder(
CDC* pDC,
CMFCToolBarButton* pButton,
CRect rect,
CMFCVisualManager::AFX_BUTTON_STATE state);
參數
[in] pDC
[in] pButton
[in] rect
[in] 州
備註
CMFCVisualManagerWindows::OnDrawButtonSeparator
virtual void OnDrawButtonSeparator(
CDC* pDC,
CMFCToolBarButton* pButton,
CRect rect,
CMFCVisualManager::AFX_BUTTON_STATE state,
BOOL bHorz);
參數
[in] pDC
[in] pButton
[in] rect
[in] 州
[in] bHorz
備註
CMFCVisualManagerWindows::OnDrawCaptionButton
virtual void OnDrawCaptionButton(
CDC* pDC,
CMFCCaptionButton* pButton,
BOOL bActive,
BOOL bHorz,
BOOL bMaximized,
BOOL bDisabled,
int nImageID = -1);
參數
[in] pDC
[in] pButton
[in] bActive
[in] bHorz
[in] bMaximized
[in] bDisabled
[in] nImageID
備註
CMFCVisualManagerWindows::OnDrawCaptionButtonIcon
virtual void OnDrawCaptionButtonIcon(
CDC* pDC,
CMFCCaptionButton* pButton,
CMenuImages::IMAGES_IDS id,
BOOL bActive,
BOOL bDisabled,
CPoint ptImage);
參數
[in] pDC
[in] pButton
[in] id
[in] bActive
[in] bDisabled
[in] ptImage
備註
CMFCVisualManagerWindows::OnDrawCheckBoxEx
virtual void OnDrawCheckBoxEx(
CDC* pDC,
CRect rect,
int nState,
BOOL bHighlighted,
BOOL bPressed,
BOOL bEnabled);
參數
[in] pDC
[in] rect
[in] nState
[in] bHighlighted
[in] bPressed
[in] bEnabled
備註
CMFCVisualManagerWindows::OnDrawComboBorder
virtual void OnDrawComboBorder(
CDC* pDC,
CRect rect,
BOOL bDisabled,
BOOL bIsDropped,
BOOL bIsHighlighted,
CMFCToolBarComboBoxButton* pButton);
參數
[in] pDC
[in] rect
[in] bDisabled
[in] bIsDropped
[in] bIsHighlighted
[in] pButton
備註
CMFCVisualManagerWindows::OnDrawComboDropButton
virtual void OnDrawComboDropButton(
CDC* pDC,
CRect rect,
BOOL bDisabled,
BOOL bIsDropped,
BOOL bIsHighlighted,
CMFCToolBarComboBoxButton* pButton);
參數
[in] pDC
[in] rect
[in] bDisabled
[in] bIsDropped
[in] bIsHighlighted
[in] pButton
備註
CMFCVisualManagerWindows::OnDrawControlBorder
virtual void OnDrawControlBorder(CWnd* pWndCtrl);
參數
[in] pWndCtrl
備註
CMFCVisualManagerWindows::OnDrawEditBorder
virtual void OnDrawEditBorder(
CDC* pDC,
CRect rect,
BOOL bDisabled,
BOOL bIsHighlighted,
CMFCToolBarEditBoxButton* pButton);
參數
[in] pDC
[in] rect
[in] bDisabled
[in] bIsHighlighted
[in] pButton
備註
CMFCVisualManagerWindows::OnDrawExpandingBox
virtual void OnDrawExpandingBox(
CDC* pDC,
CRect rect,
BOOL bIsOpened,
COLORREF colorBox);
參數
[in] pDC
[in] rect
[in] bIsOpened
[in] colorBox
備註
CMFCVisualManagerWindows::OnDrawFloatingToolbarBorder
virtual void OnDrawFloatingToolbarBorder(
CDC* pDC,
CMFCBaseToolBar* pToolBar,
CRect rectBorder,
CRect rectBorderSize);
參數
[in] pDC
[in] pToolBar
[in] rectBorder
[in] rectBorderSize
備註
CMFCVisualManagerWindows::OnDrawHeaderCtrlBorder
virtual void OnDrawHeaderCtrlBorder(
CMFCHeaderCtrl* pCtrl,
CDC* pDC,
CRect& rect,
BOOL bIsPressed,
BOOL bIsHighlighted);
參數
[in] pCtrl
[in] pDC
[in] rect
[in] bIsPressed
[in] bIsHighlighted
備註
CMFCVisualManagerWindows::OnDrawHeaderCtrlSortArrow
virtual void OnDrawHeaderCtrlSortArrow(
CMFCHeaderCtrl* pCtrl,
CDC* pDC,
CRect& rect,
BOOL bIsUp);
參數
[in] pCtrl
[in] pDC
[in] rect
[in] bIsUp
備註
CMFCVisualManagerWindows::OnDrawMenuBorder
virtual void OnDrawMenuBorder(
CDC* pDC,
CMFCPopu* pMenu,
CRect rect);
參數
[in] pDC
[in] pMenu
[in] rect
備註
CMFCVisualManagerWindows::OnDrawMenuSystemButton
virtual void OnDrawMenuSystemButton(
CDC* pDC,
CRect rect,
UINT uiSystemCommand,
UINT nStyle,
BOOL bHighlight);
參數
[in] pDC
[in] rect
[in] uiSystemCommand
[in] nStyle
[in] bHighlight
備註
CMFCVisualManagerWindows::OnDrawMiniFrameBorder
virtual void OnDrawMiniFrameBorder(
CDC* pDC,
CPaneFrameWnd* pFrameWnd,
CRect rectBorder,
CRect rectBorderSize);
參數
[in] pDC
[in] pFrameWnd
[in] rectBorder
[in] rectBorderSize
備註
CMFCVisualManagerWindows::OnDrawOutlookPageButtonBorder
virtual void OnDrawOutlookPageButtonBorder(
CDC* pDC,
CRect& rectBtn,
BOOL bIsHighlighted,
BOOL bIsPressed);
參數
[in] pDC
[in] rectBtn
[in] bIsHighlighted
[in] bIsPressed
備註
CMFCVisualManagerWindows::OnDrawPaneBorder
virtual void OnDrawPaneBorder(
CDC* pDC,
CBasePane* pBar,
CRect& rect);
參數
[in] pDC
[in] pBar
[in] rect
備註
CMFCVisualManagerWindows::OnDrawPaneCaption
virtual COLORREF OnDrawPaneCaption(
CDC* pDC,
CDockablePane* pBar,
BOOL bActive,
CRect rectCaption,
CRect rectButtons);
參數
[in] pDC
[in] pBar
[in] bActive
[in] rectCaption
[in] rectButtons
傳回值
備註
CMFCVisualManagerWindows::OnDrawPopupWindowButtonBorder
virtual void OnDrawPopupWindowButtonBorder(
CDC* pDC,
CRect rectClient,
CMFCDesktopAlertWndButton* pButton);
參數
[in] pDC
[in] rectClient
[in] pButton
備註
CMFCVisualManagerWindows::OnDrawScrollButtons
virtual void OnDrawScrollButtons(
CDC* pDC,
const CRect& rect,
const int nBorderSize,
int iImage,
BOOL bHilited);
參數
[in] pDC
[in] rect
[in] nBorderSize
[in] iImage
[in] bHilited
備註
CMFCVisualManagerWindows::OnDrawSeparator
virtual void OnDrawSeparator(
CDC* pDC,
CBasePane* pBar,
CRect rect,
BOOL bIsHoriz);
參數
[in] pDC
[in] pBar
[in] rect
[in] bIsHoriz
備註
CMFCVisualManagerWindows::OnDrawSpinButtons
virtual void OnDrawSpinButtons(
CDC* pDC,
CRect rectSpin,
int nState,
BOOL bOrientation,
CMFCSpinButtonCtrl* pSpinCtrl);
參數
[in] pDC
[in] rectSpin
[in] nState
[in] bOrientation
[in] pSpinCtrl
備註
CMFCVisualManagerWindows::OnDrawStatusBarPaneBorder
virtual void OnDrawStatusBarPaneBorder(
CDC* pDC,
CMFCStatusBar* pBar,
CRect rectPane,
UINT uiID,
UINT nStyle);
參數
[in] pDC
[in] pBar
[in] rectPane
[in] uiID
[in] nStyle
備註
CMFCVisualManagerWindows::OnDrawStatusBarProgress
virtual void OnDrawStatusBarProgress(
CDC* pDC,
CMFCStatusBar* pStatusBar,
CRect rectProgress,
int nProgressTotal,
int nProgressCurr,
COLORREF clrBar,
COLORREF clrProgressBarDest,
COLORREF clrProgressText,
BOOL bProgressText);
參數
[in] pDC
[in] pStatusBar
[in] rectProgress
[in] nProgressTotal
[in] nProgressCurr
[in] clrBar
[in] clrProgressBarDest
[in] clrProgressText
[in] bProgressText
備註
CMFCVisualManagerWindows::OnDrawStatusBarSizeBox
virtual void OnDrawStatusBarSizeBox(
CDC* pDC,
CMFCStatusBar* pStatBar,
CRect rectSizeBox);
參數
[in] pDC
[in] pStatBar
[in] rectSizeBox
備註
CMFCVisualManagerWindows::OnDrawTab
virtual void OnDrawTab(
CDC* pDC,
CRect rectTab,
int iTab,
BOOL bIsActive,
const CMFCBaseTabCtrl* pTabWnd);
參數
[in] pDC
[in] rectTab
[in] iTab
[in] bIsActive
[in] pTabWnd
備註
CMFCVisualManagerWindows::OnDrawTabCloseButton
virtual void OnDrawTabCloseButton(
CDC* pDC,
CRect rect,
const CMFCBaseTabCtrl* pTabWnd,
BOOL bIsHighlighted,
BOOL bIsPressed,
BOOL bIsDisabled);
參數
[in] pDC
[in] rect
[in] pTabWnd
[in] bIsHighlighted
[in] bIsPressed
[in] bIsDisabled
備註
CMFCVisualManagerWindows::OnDrawTabsButtonBorder
virtual void OnDrawTabsButtonBorder(
CDC* pDC,
CRect& rect,
CMFCButton* pButton,
UINT uiState,
CMFCBaseTabCtrl* pWndTab);
參數
[in] pDC
[in] rect
[in] pButton
[in] uiState
[in] pWndTab
備註
CMFCVisualManagerWindows::OnDrawTask
virtual void OnDrawTask(
CDC* pDC,
CMFCTasksPaneTask* pTask,
CImageList* pIcons,
BOOL bIsHighlighted = FALSE,
BOOL bIsSelected = FALSE);
參數
[in] pDC
[in] pTask
[in] pIcons
[in] bIsHighlighted
[in] bIsSelected
備註
CMFCVisualManagerWindows::OnDrawTasksGroupAreaBorder
virtual void OnDrawTasksGroupAreaBorder(
CDC* pDC,
CRect rect,
BOOL bSpecial = FALSE,
BOOL bNoTitle = FALSE);
參數
[in] pDC
[in] rect
[in] bSpecial
[in] bNoTitle
備註
CMFCVisualManagerWindows::OnDrawTasksGroupCaption
virtual void OnDrawTasksGroupCaption(
CDC* pDC,
CMFCTasksPaneTaskGroup* pGroup,
BOOL bIsHighlighted = FALSE,
BOOL bIsSelected = FALSE,
BOOL bCanCollapse = FALSE);
參數
[in] pDC
[in] pGroup
[in] bIsHighlighted
[in] bIsSelected
[in] bCanCollapse
備註
CMFCVisualManagerWindows::OnDrawTearOffCaption
virtual void OnDrawTearOffCaption(
CDC* pDC,
CRect rect,
BOOL bIsActive);
參數
[in] pDC
[in] rect
[in] bIsActive
備註
CMFCVisualManagerWindows::OnErasePopupWindowButton
virtual void OnErasePopupWindowButton(
CDC* pDC,
CRect rectClient,
CMFCDesktopAlertWndButton* pButton);
參數
[in] pDC
[in] rectClient
[in] pButton
備註
CMFCVisualManagerWindows::OnEraseTabsArea
virtual void OnEraseTabsArea(
CDC* pDC,
CRect rect,
const CMFCBaseTabCtrl* pTabWnd);
參數
[in] pDC
[in] rect
[in] pTabWnd
備註
CMFCVisualManagerWindows::OnEraseTabsButton
virtual void OnEraseTabsButton(
CDC* pDC,
CRect rect,
CMFCButton* pButton,
CMFCBaseTabCtrl* pWndTab);
參數
[in] pDC
[in] rect
[in] pButton
[in] pWndTab
備註
CMFCVisualManagerWindows::OnEraseTabsFrame
virtual BOOL OnEraseTabsFrame(
CDC* pDC,
CRect rect,
const CMFCBaseTabCtrl* pTabWnd);
參數
[in] pDC
[in] rect
[in] pTabWnd
傳回值
備註
CMFCVisualManagerWindows::OnFillBarBackground
virtual void OnFillBarBackground(
CDC* pDC,
CBasePane* pBar,
CRect rectClient,
CRect rectClip,
BOOL bNCArea = FALSE);
參數
[in] pDC
[in] pBar
[in] rectClient
[in] rectClip
[in] bNCArea
備註
CMFCVisualManagerWindows::OnFillButtonInterior
virtual void OnFillButtonInterior(
CDC* pDC,
CMFCToolBarButton* pButton,
CRect rect,
CMFCVisualManager::AFX_BUTTON_STATE state);
參數
[in] pDC
[in] pButton
[in] rect
[in] 州
備註
CMFCVisualManagerWindows::OnFillCommandsListBackground
virtual COLORREF OnFillCommandsListBackground(
CDC* pDC,
CRect rect,
BOOL bIsSelected = FALSE);
參數
[in] pDC
[in] rect
[in] bIsSelected
傳回值
備註
CMFCVisualManagerWindows::OnFillMiniFrameCaption
virtual COLORREF OnFillMiniFrameCaption(
CDC* pDC,
CRect rectCaption,
CPaneFrameWnd* pFrameWnd,
BOOL bActive);
參數
[in] pDC
[in] rectCaption
[in] pFrameWnd
[in] bActive
傳回值
備註
CMFCVisualManagerWindows::OnFillOutlookPageButton
virtual void OnFillOutlookPageButton(
CDC* pDC,
const CRect& rect,
BOOL bIsHighlighted,
BOOL bIsPressed,
COLORREF& clrText);
參數
[in] pDC
[in] rect
[in] bIsHighlighted
[in] bIsPressed
[in] clrText
備註
CMFCVisualManagerWindows::OnFillTasksGroupInterior
virtual void OnFillTasksGroupInterior(
CDC* pDC,
CRect rect,
BOOL bSpecial = FALSE);
參數
[in] pDC
[in] rect
[in] bSpecial
備註
CMFCVisualManagerWindows::OnFillTasksPaneBackground
virtual void OnFillTasksPaneBackground(
CDC* pDC,
CRect rectWorkArea);
參數
[in] pDC
[in] rectWorkArea
備註
CMFCVisualManagerWindows::OnHighlightMenuItem
virtual void OnHighlightMenuItem(
CDC* pDC,
CMFCToolBarMenuButton* pButton,
CRect rect,
COLORREF& clrText);
參數
[in] pDC
[in] pButton
[in] rect
[in] clrText
備註
CMFCVisualManagerWindows::OnHighlightRarelyUsedMenuItems
virtual void OnHighlightRarelyUsedMenuItems(
CDC* pDC,
CRect rectRarelyUsed);
參數
[in] pDC
[in] rectRarelyUsed
備註
CMFCVisualManagerWindows::OnUpdateSystemColors
virtual void OnUpdateSystemColors();
備註
CMFCVisualManagerWindows::SetOfficeStyleMenus
void SetOfficeStyleMenus(BOOL bOn = TRUE);
參數
[in] 邦