分享方式:


CMFCMenuBar 類別

實作停駐的功能表列。 如需更多詳細資料,請參閱 Visual Studio 安裝位置下之 VC\atlmfc\src\mfc 資料夾中的原始程式碼。

語法

class CMFCMenuBar : public CMFCToolbar

成員

公用方法

名稱 描述
CMFCMenuBar::AdjustLocations (覆寫 CMFCToolBar::AdjustLocations。)
CMFCMenuBar::AllowChangeTextLabels 指定是否可以在工具列按鈕的影像下顯示文字標籤。 (覆寫 CMFCToolBar::AllowChangeTextLabels.)
CMFCMenuBar::AllowShowOnPaneMenu (覆寫 CPane::AllowShowOnPaneMenu。)
CMFCMenuBar::CalcFixedLayout 計算工具列的水準大小。 (覆寫 CMFCToolBar::CalcFixedLayout.)
CMFCMenuBar::CalcLayout (覆寫 CMFCToolBar::CalcLayout。)
CMFCMenuBar::CalcMaxButtonHeight 計算工具列中按鈕的最大高度。 (覆寫 CMFCToolBar::CalcMaxButtonHeight.)
CMFCMenuBar::CanBeClosed 指定使用者是否可以關閉工具列。 (覆寫 CMFCToolBar::CanBeClosed.)
CMFCMenuBar::CanBeRestored 判斷系統是否可以在自定義之後,將工具列還原至其原始狀態。 (覆寫 CMFCToolBar::CanBeRestored.)
CMFCMenuBar::Create 建立功能表控件,並將它附加至 CMFCMenuBar 物件。
CMFCMenuBar::CreateEx 使用其他樣式選項建立 CMFCMenuBar 物件。
CMFCMenuBar::CreateFromMenu CMFCMenuBar初始化物件。 接受做為填入 CMFCMenuBar之範本的 HMENU 參數。
CMFCMenuBar::EnableHelpCombobox 啟用位於功能表欄右側的 [說明] 下拉式方塊。
CMFCMenuBar::EnableMenuShadows 指定是否要顯示快捷功能表的陰影。
CMFCMenuBar::GetAvailableExpandSize (覆寫 CPane::GetAvailableExpandSize.)
CMFCMenuBar::GetColumnWidth 傳回工具列按鈕的寬度。 (覆寫 CMFCToolBar::GetColumnWidth.)
CMFCMenuBar::GetDefaultMenu 傳回資源檔中原始功能表的句柄。
CMFCMenuBar::GetDefaultMenuResId 傳回資源檔中原始功能表的資源標識碼。
CMFCMenuBar::GetFloatPopupDirection
CMFCMenuBar::GetForceDownArrows
CMFCMenuBar::GetHelpCombobox 傳回 [說明] 下拉式方塊的指標。
CMFCMenuBar::GetHMenu 將句柄傳回附加至 CMFCMenuBar 物件的功能表。
CMFCMenuBar::GetMenuFont 傳回功能表物件的目前全域字型。
CMFCMenuBar::GetMenuItem 傳回與所提供專案索引相關聯的工具列按鈕。
CMFCMenuBar::GetRowHeight 傳回工具列按鈕的高度。 (覆寫 CMFCToolBar::GetRowHeight.)
CMFCMenuBar::GetSystemButton
CMFCMenuBar::GetSystemButtonsCount
CMFCMenuBar::GetSystemMenu
CMFCMenuBar::HighlightDisabledItems 指出已停用的功能表項是否反白顯示。
CMFCMenuBar::IsButtonExtraSizeAvailable 判斷工具列是否可以顯示具有延伸框線的按鈕。 (覆寫 CMFCToolBar::IsButtonExtraSizeAvailable.)
CMFCMenuBar::IsHighlightDisabledItems 指出已停用的專案是否反白顯示。
CMFCMenuBar::IsMenuShadows 指出是否為快顯功能表繪製陰影。
CMFCMenuBar::IsRecentlyUsedMenus 指出最近使用的功能表命令是否顯示在功能表欄上。
CMFCMenuBar::IsShowAllCommands 指出快顯功能表是否顯示所有命令。
CMFCMenuBar::IsShowAllCommandsDelay 指出功能表是否在短暫延遲之後顯示所有命令。
CMFCMenuBar::LoadState 從登錄載入物件的狀態 CMFCMenuBar
CMFCMenuBar::OnChangeHot 當使用者選取工具列上的按鈕時,由架構呼叫。 (覆寫 CMFCToolBar::OnChangeHot.)
CMFCMenuBar::OnDefaultMenuLoaded 框架視窗從資源檔載入預設功能表時,由架構呼叫。
CMFCMenuBar::OnSendCommand (覆寫 CMFCToolBar::OnSendCommand。)
CMFCMenuBar::OnSetDefaultButtonText 當功能表處於自定義模式,且使用者變更功能表項的文字時,由架構呼叫。
CMFCMenuBar::OnToolHitTest (覆寫 CMFCToolBar::OnToolHitTest。)
CMFCMenuBar::P reTranslateMessage (覆寫 CMFCToolBar::PreTranslateMessage。)
CMFCMenuBar::RestoreOriginalstate 當功能表處於自定義模式時,由架構呼叫,而用戶選取功能表欄的 [重設 ]。
CMFCMenuBar::SaveState 將物件的狀態 CMFCMenuBar 儲存至登錄。
CMFCMenuBar::SetDefaultMenuResId 設定資源檔中的原始功能表。
CMFCMenuBar::SetForceDownArrows
CMFCMenuBar::SetMaximizeMode 當 MDI 子視窗變更其顯示模式時,由架構呼叫。 如果 MDI 子視窗是新最大化或不再最大化,這個方法會更新功能表欄。
CMFCMenuBar::SetMenuButtonRTC 設定用戶動態建立功能表按鈕時所產生的運行時間類別資訊。
CMFCMenuBar::SetMenuFont 設定應用程式中所有功能表的字型。
CMFCMenuBar::SetRecentlyUsedMenus 指定選單列是否顯示最近使用的功能表命令。
CMFCMenuBar::SetShowAllCommands 指定功能表列是否顯示所有命令。

備註

類別 CMFCMenuBar 是實作停駐功能的功能表欄。 它與工具列類似,雖然它無法關閉,但一律會顯示它。

CMFCMenuBar 支持顯示最近使用功能表項物件的選項。 如果啟用此選項,則 CMFCMenuBar 只會在第一次檢視時顯示可用命令的子集。 之後,最近使用的命令會與原始的命令子集一起顯示。 此外,使用者一律可以展開功能表來檢視所有可用的命令。 因此,每個可用的命令都會設定為持續顯示,或只在最近選取時顯示。

若要使用 CMFCMenuBar 物件,請將它內嵌在主視窗框架物件中。 處理 WM_CREATE 訊息時,請呼叫 CMFCMenuBar::CreateCMFCMenuBar::CreateEx。 無論您使用哪一個 create 函式,都會傳入主框架視窗的指標。 然後呼叫 CFrameWndEx::EnableDocking 來啟用停駐。 呼叫 CFrameWndEx::D ockPane 來固定此功能表。

範例

下例示範如何在 CMFCMenuBar 類別中使用各種方法。 此範例示範如何設定窗格的樣式、啟用自定義按鈕、啟用 [說明] 方塊、啟用快捷功能表的陰影,以及更新功能表欄。 此代碼段是 IE 示範範例一部分。

CMFCMenuBar m_wndMenuBar;
m_wndMenuBar.SetPaneStyle(m_wndMenuBar.GetPaneStyle() | CBRS_SIZE_DYNAMIC);
m_wndMenuBar.EnableCustomizeButton(TRUE, -1, _T(""));
// first parameter is the command ID for the button of the Help combo box
// third parameter is the width of the button for the combo box in pixels.
m_wndMenuBar.EnableHelpCombobox(1, _T("enter text here"), 30);
m_wndMenuBar.EnableMenuShadows();
m_wndMenuBar.SetMaximizeMode(true);

繼承階層架構

CObject

CCmdTarget

CWnd

CBasePane

CPane

CMFCBaseToolBar

CMFCToolBar

CMFCMenuBar

需求

標頭: afxmenubar.h

CMFCMenuBar::AdjustLocations

調整功能表欄上功能表項的位置。

virtual void AdjustLocations();

備註

CMFCMenuBar::AllowChangeTextLabels

判斷功能表欄中的影像下是否允許文字標籤。

virtual BOOL AllowChangeTextLabels() const;

傳回值

如果使用者可以選擇在影像下顯示文字標籤,則會傳回TRUE。

備註

CMFCMenuBar::AllowShowOnPaneMenu

virtual BOOL AllowShowOnPaneMenu() const;

傳回值

備註

CMFCMenuBar::CalcFixedLayout

virtual CSize CalcFixedLayout(
    BOOL bStretch,
    BOOL bHorz);

參數

[in] bStretch

[in] bHorz

傳回值

備註

CMFCMenuBar::CalcLayout

virtual CSize CalcLayout(
    DWORD dwMode,
    int nLength = -1);

參數

[in] dwMode

[in] nLength

傳回值

備註

CMFCMenuBar::CalcMaxButtonHeight

virtual int CalcMaxButtonHeight();

傳回值

備註

CMFCMenuBar::CanBeClosed

virtual BOOL CanBeClosed() const;

傳回值

備註

CMFCMenuBar::CanBeRestored

virtual BOOL CanBeRestored() const;

傳回值

備註

CMFCMenuBar::Create

建立功能表控件,並將它附加至 CMFCMenuBar 物件。

virtual BOOL Create(
    CWnd* pParentWnd,
    DWORD dwStyle = AFX_DEFAULT_TOOLBAR_STYLE,
    UINT nID = AFX_IDW_MENUBAR);

參數

pParentWnd
[in]新 CMFCMenuBar 物件的父視窗指標。

dwStyle
[in]新功能表欄的樣式。

nID
[in]功能表欄子視窗的識別碼。

傳回值

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

備註

建構 CMFCMenuBar 物件之後,您必須呼叫 Create。 這個方法會建立 控件, CMFCMenuBar 並將它附加至 CMFCMenuBar 物件。

如需工具列樣式的詳細資訊,請參閱 CBasePane::SetPaneStyle

CMFCMenuBar::CreateEx

建立 具有指定擴充樣式的CMFCMenuBar 物件。

virtual BOOL CreateEx(
    CWnd* pParentWnd,
    DWORD dwCtrlStyle = TBSTYLE_FLAT,
    DWORD dwStyle = AFX_DEFAULT_TOOLBAR_STYLE,
    CRect rcBorders = CRect(1,
    1,
    1,
    1),
    UINT nID =AFX_IDW_MENUBAR);

參數

pParentWnd
[in]新 CMFCMenuBar 物件的父視窗指標。

dwCtrlStyle
[in]新功能表欄的其他樣式。

dwStyle
[in]新功能表欄的主要樣式。

rcBorders
[in] CRect 參數,指定物件框線 CMFCMenuBar 的大小。

nID
[in]功能表欄子視窗的識別碼。

傳回值

如果方法成功,則為非零;否則為 0。

備註

除了工具列樣式之外,您應該使用這個函式, 而不是 CMFCMenuBar::Create 。 一些常用的其他樣式是TBSTYLE_TRANSPARENT和CBRS_TOP。

如需其他樣式的清單,請參閱 工具列控件和按鈕樣式通用控件樣式通用窗口樣式

範例

下列範例示範如何使用 CreateEx 類別的 CMFCMenuBar 方法。 此代碼段是 IE 示範範例一部分。

CMFCMenuBar m_wndMenuBar;
// The this pointer points to CMainFrame class which extends the CFrameWnd class.
if (!m_wndMenuBar.CreateEx(this, TBSTYLE_TRANSPARENT))
{
   TRACE0("Failed to create menubar\n");
   return -1; // fail to create
}

CMFCMenuBar::CreateFromMenu

初始化 CMFCMenuBar 物件。 這個方法會在 CMFCMenuBar HMENU 參數之後建立 物件模型。

virtual void CreateFromMenu(
    HMENU hMenu,
    BOOL bDefaultMenu = FALSE,
    BOOL bForceUpdate = FALSE);

參數

hMenu
[in]功能表資源的句柄。 CreateFromMenu 會使用此資源作為的 CMFCMenuBar範本。

bDefaultMenu
[in]布爾值,指出新功能表是否為預設功能表。

bForceUpdate
[in]布爾值,指出這個方法是否強制更新功能表。

備註

如果您想要功能表控制件具有與功能表資源相同的功能表項,請使用此方法。 呼叫 CMFCMenuBar::CreateCMFCMenuBar::CreateEx 之後,您會呼叫此方法。

CMFCMenuBar::EnableHelpCombobox

啟用位於功能表欄右側的 [說明] 下拉式方塊。

void EnableHelpCombobox(
    UINT uiID,
    LPCTSTR lpszPrompt = NULL,
    int nComboBoxWidth = 150);

參數

uiID
[in][說明] 下拉式方塊按鈕的命令標識符。

lpszPrompt
[in]字串,包含架構在下拉式方塊中顯示的文字,如果它是空的,而不是使用中。 例如,「在這裡輸入文字」。

nComboBoxWidth
[in]下拉式方塊的寬度,以像素為單位。

備註

[說明] 下拉式方塊類似於 Microsoft Word 功能表欄中的 [說明] 下拉式方塊。

當您使用 uiID 設為 0 呼叫這個方法時,這個方法會隱藏下拉式方塊。 否則,此方法會自動在功能表欄右側顯示下拉式方塊。 呼叫此方法之後,請呼叫 CMFCMenuBar::GetHelpCombobox ,以取得所插入 CMFCToolBarComboBoxButton 物件的指標。

CMFCMenuBar::EnableMenuShadows

啟用快捷功能表的陰影。

static void EnableMenuShadows(BOOL bEnable = TRUE);

參數

bEnable
[in]布爾值參數,指出是否應該為快捷功能表啟用陰影。

備註

此方法使用的演算法很複雜,而且可能會降低應用程式在較慢系統上的效能。

CMFCMenuBar::GetAvailableExpandSize

virtual int GetAvailableExpandSize() const;

傳回值

備註

CMFCMenuBar::GetColumnWidth

virtual int GetColumnWidth() const;

傳回值

備註

CMFCMenuBar::GetDefaultMenu

擷取原始功能表的句柄。 架構會從資源檔載入原始功能表。

HMENU GetDefaultMenu() const;

傳回值

功能表資源的句柄。

備註

如果您的應用程式自定義功能表,您可以使用此方法來擷取原始功能表的句柄。

CMFCMenuBar::GetDefaultMenuResId

擷取預設功能表的資源標識碼。

UINT GetDefaultMenuResId() const;

傳回值

功能表資源標識碼。

備註

架構會從資源檔載入物件的預設功能表 CMFCMenuBar

CMFCMenuBar::GetFloatPopupDirection

int GetFloatPopupDirection(CMFCToolBarMenuButton* pButton);

參數

[in] pButton

傳回值

備註

CMFCMenuBar::GetForceDownArrows

BOOL GetForceDownArrows();

傳回值

備註

CMFCMenuBar::GetHelpCombobox

傳回 [說明] 下拉式方塊的指標。

CMFCToolBarComboBoxButton* GetHelpCombobox();

傳回值

說明下拉式方塊的指標。 如果隱藏或未啟用 [ 說明 ] 下拉式方塊,則為 NULL。

備註

[說明] 下拉式方塊位於功能表欄右側。 呼叫 CMFCMenuBar::EnableHelpCombobox 方法來啟用此下拉式方塊。

CMFCMenuBar::GetHMenu

擷取附加至 CMFCMenuBar 物件的功能表句柄。

HMENU GetHMenu() const;

CMFCMenuBar::GetMenuFont

擷取目前的功能表字型。

static const CFont& GetMenuFont(BOOL bHorz = TRUE);

參數

bHorz
[in]布爾參數,指定是否要傳回水準或垂直字型。 TRUE 表示水準字型。

傳回值

包含目前功能表欄字型之 CFont 參數的指標

備註

傳回的字型是應用程式的全域參數。 所有 CMFCMenuBar 物件都會維護兩個全域字型。 這些個別字型用於水平和垂直功能表欄。

CMFCMenuBar::GetMenuItem

根據專案索引,擷取功能表欄上的CMFCToolBarButton物件。

CMFCToolBarButton* GetMenuItem(int iItem) const;

參數

iItem
[in]要傳回之功能表項的索引。

傳回值

符合 iItem指定索引之 物件的指標CMFCToolBarButton。 如果索引無效,則為 NULL。

CMFCMenuBar::GetRowHeight

virtual int GetRowHeight() const;

傳回值

備註

CMFCMenuBar::GetSystemButton

CMFCToolBarMenuButtonsButton* GetSystemButton(
    UINT uiBtn,
    BOOL bByCommand = TRUE) const;

參數

[in] uiBtn

[in] bByCommand

傳回值

備註

CMFCMenuBar::GetSystemButtonsCount

int GetSystemButtonsCount() const;

傳回值

備註

CMFCMenuBar::GetSystemMenu

CMFCToolBarSystemMenuButton* GetSystemMenu() const;

傳回值

備註

CMFCMenuBar::HighlightDisabledItems

控制架構是否醒目提示已停用的功能表項。

static void HighlightDisabledItems(BOOL bHighlight = TRUE);

參數

bHighlight
[in]布爾參數,指出架構是否醒目提示無法使用的功能表項。

備註

根據預設,當使用者將滑鼠指標放在它們上方時,架構不會反白顯示無法使用的功能表項。

CMFCMenuBar::IsButtonExtraSizeAvailable

virtual BOOL IsButtonExtraSizeAvailable() const;

傳回值

備註

CMFCMenuBar::IsHighlightDisabledItems

指出架構是否醒目提示無法使用的功能表項。

static BOOL IsHighlightDisabledItems();

傳回值

如果醒目提示無法使用的功能表項,則為TRUE;否則為 FALSE。

備註

根據預設,當使用者將滑鼠指標放在它們上方時,架構不會反白顯示無法使用的功能表項。 使用 CMFCMenuBar::HighlightDisabledItems 方法來啟用此功能。

CMFCMenuBar::IsMenuShadows

指出架構是否繪製快捷功能表的陰影。

static BOOL IsMenuShadows();

傳回值

如果架構繪製功能表陰影,則為TRUE;否則為 FALSE。

備註

使用 CMFCMenuBar::EnableMenuShadows 方法來啟用或停用此功能。

CMFCMenuBar::IsRecentlyUsedMenus

指出最近使用的功能表命令是否顯示在功能表欄上。

static BOOL IsRecentlyUsedMenus();

傳回值

如果對象顯示最近使用的功能表命令,則為 CMFCMenuBar 非零,否則為 0。

備註

使用 CMFCMenuBar::SetRecentlyUsedMenus 函式來控制功能表欄是否顯示最近使用的功能表命令。

CMFCMenuBar::IsShowAllCommands

指出功能表是否顯示所有命令。

static BOOL IsShowAllCommands();

傳回值

如果 顯示所有命令, CMFCMenuBar 則為非零;否則為 0。

備註

CMFCMenuBar對象可以設定為顯示所有命令或只顯示命令子集。 如需此功能的詳細資訊,請參閱 CMFCMenuBar 類別

IsShowAllCommands 將會告訴您如何為 CMFCMenuBar 物件設定這項功能。 若要控制顯示的功能表命令,請使用CMFCMenuBar::SetShowAllCommandsCMFCMenuBar::SetRecentlyUsedMenus 方法。

CMFCMenuBar::IsShowAllCommandsDelay

指出 CMFCMenuBar 物件是否在短暫延遲之後顯示所有命令。

static BOOL IsShowAllCommandsDelay();

傳回值

如果功能表欄在短暫延遲後顯示完整功能表,則為非零;否則為 0。

備註

當您設定選單列以顯示最近使用的專案時,功能表列會以下列兩種方式之一顯示完整選單:

  • 當使用者將游標停留在功能表底部的箭號上方時,在程式設計延遲之後顯示完整功能表。

  • 在使用者單擊功能表底部的箭號之後,顯示完整功能表。

根據預設,所有物件都會 CMFCMenuBar 使用 選項,在短暫延遲之後顯示完整功能表。 這個選項無法在類別中 CMFCMenuBar 以程序設計方式變更。 不過,使用者可以使用 [ 自定義 ] 對話框,在工具列自定義期間變更行為。

CMFCMenuBar::LoadState

從 Windows 登錄載入功能表欄的狀態。

virtual BOOL LoadState(
    LPCTSTR lpszProfileName = NULL,
    int nIndex = -1,
    UINT uiID = (UINT)-1);

參數

lpszProfileName
[in]包含 Windows 登錄機碼路徑的字串。

nIndex
[in]功能表欄的控件識別碼。

uiID
[in] 保留的值。

傳回值

如果方法成功,則為TRUE;否則為 FALSE。

備註

使用 CMFCMenuBar::SaveState 方法,將功能表欄的狀態儲存至登錄。 儲存的資訊包括功能表項、停駐狀態,以及功能表欄的位置。

在大部分情況下,您的應用程式不會呼叫 LoadState。 架構會在初始化工作區時呼叫這個方法。

CMFCMenuBar::OnChangeHot

virtual void OnChangeHot(int iHot);

參數

[in] iHot

備註

CMFCMenuBar::OnDefaultMenuLoaded

架構從資源檔載入功能表資源時,會呼叫此方法。

virtual void OnDefaultMenuLoaded(HMENU hMenu);

參數

hMenu
[in]附加至 CMFCMenuBar 物件的功能表句柄。

備註

此函式的預設實作不做任何動作。 覆寫此函式,以在架構從資源檔載入功能表資源之後執行自定義程式代碼。

CMFCMenuBar::OnSendCommand

virtual BOOL OnSendCommand(const CMFCToolBarButton* pButton);

參數

[in] pButton

傳回值

備註

CMFCMenuBar::OnSetDefaultButtonText

當使用者變更功能表列上專案的文字時,架構會呼叫此方法。

virtual BOOL OnSetDefaultButtonText(CMFCToolBarButton* pButton);

參數

pButton
[in]使用者想要自定義之 CMFCToolBarButton 物件的指標。

傳回值

如果架構將用戶變更套用至功能表欄,則為TRUE;否則為 FALSE。

備註

此方法的預設實作會將按鈕的文字變更為使用者所提供的文字。

CMFCMenuBar::OnToolHitTest

virtual INT_PTR OnToolHitTest(
    CPoint point,
    TOOLINFO* pTI) const;

參數

[in]

[in] pTI

傳回值

備註

CMFCMenuBar::P reTranslateMessage

virtual BOOL PreTranslateMessage(MSG* pMsg);

參數

[in] pMsg

傳回值

備註

CMFCMenuBar::RestoreOriginalstate

當使用者從 [自定義] 對話框中選取 [重設] 時,由架構呼叫。

virtual BOOL RestoreOriginalstate();

傳回值

如果方法成功,則為非零;否則為 0。

備註

當使用者從自定義功能表中選取 [重設 ] 時,會呼叫這個方法。 您也可以手動呼叫此方法,以程序設計方式重設功能表欄的狀態。 這個方法會從資源檔載入原始狀態。

如果您想要在用戶選取 [重設 ] 選項時執行任何處理,請覆寫此方法。

CMFCMenuBar::SaveState

將 CMFCMenuBar 物件的狀態儲存至 Windows 登錄。

virtual BOOL SaveState (
    LPCTSTR lpszProfileName = NULL,
    int nIndex = -1,
    UINT uiID = (UINT)-1);

參數

lpszProfileName
[in]包含 Windows 登錄機碼路徑的字串。

nIndex
[in]功能表欄的控件識別碼。

uiID
[in] 保留的值。

傳回值

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

備註

通常,您的應用程式不會呼叫 SaveState。 架構會在串行化工作區時呼叫這個方法。 如需詳細資訊,請參閱 CWinAppEx::SaveState

儲存的資訊包括功能表項、停駐狀態,以及功能表欄的位置。

CMFCMenuBar::SetDefaultMenuResId

根據資源標識碼設定 CMFCMenuBar 物件的預設功能表

void SetDefaultMenuResId(UINT uiResId);

參數

uiResId
[in]新預設功能表的資源標識碼。

備註

CMFCMenuBar::RestoreOriginalstate 方法會從資源檔還原預設功能表。

使用 CMFCMenuBar::GetDefaultMenuResId 方法來擷取預設功能表而不還原它。

CMFCMenuBar::SetForceDownArrows

void SetForceDownArrows(BOOL bValue);

參數

[in] bValue

備註

CMFCMenuBar::SetMaximizeMode

當 MDI 變更其顯示模式,而且必須更新功能表欄時,架構會呼叫此方法。

void SetMaximizeMode(
    BOOL bMax,
    CWnd* pWnd = NULL,
    BOOL bRecalcLayout = TRUE);

參數

bMax
[in]指定模式的布爾值。 如需詳細資訊,請參閱<備註>一節。

pWnd
[in]變更之 MDI 子視窗的指標。

bRecalcLayout
[in]布爾值,指定是否應立即重新計算功能表欄的配置。

備註

當 MDI 子視窗最大化時,附加至 MDI 主框架視窗的功能表欄會顯示系統選單和 [最小化]、 [最大化 ] 和 [關閉 ] 按鈕。 如果 bMax 為 TRUE 且 pWnd 不是 NULL,MDI 子視窗會最大化,而且功能表欄必須納入額外的控制件。 否則,功能表欄會回到其一般狀態。

CMFCMenuBar::SetMenuButtonRTC

設定當使用者建立功能表按鈕時,架構所使用的運行時間類別資訊。

void SetMenuButtonRTC(CRuntimeClass* pMenuButtonRTC);

參數

pMenuButtonRTC
[in]衍生自 CMFCMenuButton 類別之類別的 CRuntimeClass 資訊。

備註

當使用者將新按鈕新增至功能表欄時,架構會動態建立按鈕。 根據預設,它會建立 CMFCMenuButton 物件。 覆寫此方法以變更架構所建立的按鈕物件類型。

CMFCMenuBar::SetMenuFont

設定應用程式中所有功能表欄的字型。

static BOOL SetMenuFont(
    LPLOGFONT lpLogFont,
    BOOL bHorz = TRUE);

參數

lpLogFont
[in]LOGFONT 結構的指標,定義要設定的字型。

bHorz
[in]如果想要 將 lpLogFont 參數用於垂直字型,則為 TRUE,如果您想要將它用於水準字型,則為 FALSE。

傳回值

如果方法成功,則為TRUE;否則為 FALSE。

備註

所有物件都會使用 CMFCMenuBar 兩個字型。 這些個別字型用於水平和垂直功能表欄。

字型設定是全域變數,會影響所有 CMFCMenuBar 物件。

CMFCMenuBar::SetRecentlyUsedMenus

控制選單列是否顯示最近使用的功能表命令。

static void SetRecentlyUsedMenus (BOOL bOn = TRUE);

參數


[in]布爾值,控制是否顯示最近使用的功能表命令。

CMFCMenuBar::SetShowAllCommands

控制選單是否顯示所有可用的命令。

static void SetShowAllCommands(BOOL bShowAllCommands = TRUE);

參數

bShowAllCommands
[in]布爾參數,指定快顯功能表是否顯示所有功能表命令。

備註

如果功能表未顯示所有功能表命令,則會隱藏很少使用的命令。 如需顯示功能表命令的詳細資訊,請參閱 CMFCMenuBar類別

另請參閱

階層架構圖表
類別
CMFCToolBar 類別