Класс CMFCMenuBar

Строка меню, которая реализует закрепление. Дополнительные сведения см. в исходном коде, расположенном в папке VC\atlmfc\src\mfc установки Visual Studio.

Синтаксис

class CMFCMenuBar : public CMFCToolbar

Участники

Открытые методы

Имя Описание
CMFCMenuBar::AdjustLocations (Переопределяет CMFCToolBar::AdjustLocations.)
CMFCMenuBar::AllowChangeTextLabels Указывает, можно ли отображать текстовые метки под изображениями на кнопках панели инструментов. (Переопределения CMFCToolBar::AllowChangeTextLabels.)
CMFCMenuBar::AllowShowOnPaneMeneMenu (Переопределяет 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. Принимает параметр HMENU, который выступает в качестве шаблона для заполненного CMFCMenuBar.
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::Create или CMFCMenuBar::CreateEx. Независимо от того, какая используемая функция создается, передайте указатель на главное окно фрейма. Затем включите закрепление, вызвав 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::AllowShowOnPaneMeneMenu

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 , если вы хотите указать стили в дополнение к стилю панели инструментов. Некоторые часто используемые дополнительные стили являются ТБSTYLE_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::Create или CMFCMenuBar::Create.

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] Индекс возвращаемого элемента меню.

Возвращаемое значение

Указатель на объект, соответствующий CMFCToolBarButton индексу, указанному iItem. Значение 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::SetShowAllCommands и CMFCMenuBar::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] Сведения CRuntimeClass для класса, производного от класса CMFCMenuButton.

Замечания

Когда пользователь добавляет новые кнопки в строку меню, платформа динамически создает кнопки. По умолчанию он создает CMFCMenuButton объекты. Переопределите этот метод, чтобы изменить тип объектов кнопки, создаваемых платформой.

CMFCMenuBar::SetMenuFont

Задает шрифт для всех строк меню в приложении.

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

Параметры

lpLogFont
[in] Указатель на структуру LOGFONT , которая определяет заданный шрифт.

bHorz
[in] ЗНАЧЕНИЕ TRUE, если требуется , чтобы параметр lpLogFont использовался для вертикального шрифта, значение 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