Freigeben über


CMFCMenuBar-Klasse

Eine Menüleiste, die Andocken implementiert. Ausführliche Informationen finden Sie im Quellcode des Ordners VC\atlmfc\src\mfc der Visual Studio-Installation.

Syntax

class CMFCMenuBar : public CMFCToolbar

Member

Öffentliche Methoden

Name Beschreibung
CMFCMenuBar::AdjustLocations (Überschreibt CMFCToolBar::AdjustLocations.)
CMFCMenuBar::AllowChangeTextLabels Gibt an, ob Textbeschriftungen unter Bildern auf den Symbolleistenschaltflächen angezeigt werden können. (Außerkraftsetzungen CMFCToolBar::AllowChangeTextLabels.)
CMFCMenuBar::AllowShowOnPaneMenu (Überschreibt CPane::AllowShowOnPaneMenu.)
CMFCMenuBar::CalcFixedLayout Berechnet die horizontale Größe der Symbolleiste. (Außerkraftsetzungen CMFCToolBar::CalcFixedLayout.)
CMFCMenuBar::CalcLayout (Überschreibt CMFCToolBar::CalcLayout.)
CMFCMenuBar::CalcMaxButtonHeight Berechnet die maximale Höhe von Schaltflächen in der Symbolleiste. (Außerkraftsetzungen CMFCToolBar::CalcMaxButtonHeight.)
CMFCMenuBar::CanBeClosed Gibt an, ob ein Benutzer die Symbolleiste schließen kann. (Außerkraftsetzungen CMFCToolBar::CanBeClosed.)
CMFCMenuBar::CanBeRestored Bestimmt, ob das System eine Symbolleiste nach der Anpassung in den ursprünglichen Zustand wiederherstellen kann. (Außerkraftsetzungen CMFCToolBar::CanBeRestored.)
CMFCMenuBar::Create Erstellt ein Menüsteuerelement und fügt es an ein CMFCMenuBar Objekt an.
CMFCMenuBar::CreateEx Erstellt ein CMFCMenuBar Objekt mit zusätzlichen Formatvorlagenoptionen.
CMFCMenuBar::CreateFromMenu Initialisiert ein CMFCMenuBar-Objekt. Akzeptiert einen HMENU-Parameter, der als Vorlage für eine aufgefüllte Datei CMFCMenuBarfungiert.
CMFCMenuBar::EnableHelpCombobox Aktiviert ein Hilfe-Kombinationsfeld , das sich auf der rechten Seite der Menüleiste befindet.
CMFCMenuBar::EnableMenuShadows Gibt an, ob Schatten für Popupmenüs angezeigt werden sollen.
CMFCMenuBar::GetAvailableExpandSize (Außerkraftsetzungen CPane::GetAvailableExpandSize.)
CMFCMenuBar::GetColumnWidth Gibt die Breite der Symbolleistenschaltflächen zurück. (Außerkraftsetzungen CMFCToolBar::GetColumnWidth.)
CMFCMenuBar::GetDefaultMenu Gibt ein Handle zum ursprünglichen Menü in der Ressourcendatei zurück.
CMFCMenuBar::GetDefaultMenuResId Gibt den Ressourcenbezeichner für das ursprüngliche Menü in der Ressourcendatei zurück.
CMFCMenuBar::GetFloatPopupDirection
CMFCMenuBar::GetForceDownArrows
CMFCMenuBar::GetHelpCombobox Gibt einen Zeiger auf das Hilfe-Kombinationsfeld zurück.
CMFCMenuBar::GetHMenu Gibt das Handle an das Menü zurück, das dem CMFCMenuBar Objekt zugeordnet ist.
CMFCMenuBar::GetMenuFont Gibt die aktuelle globale Schriftart für Menüobjekte zurück.
CMFCMenuBar::GetMenuItem Gibt die Symbolleistenschaltfläche zurück, die dem bereitgestellten Elementindex zugeordnet ist.
CMFCMenuBar::GetRowHeight Gibt die Höhe der Symbolleistenschaltflächen zurück. (Außerkraftsetzungen CMFCToolBar::GetRowHeight.)
CMFCMenuBar::GetSystemButton
CMFCMenuBar::GetSystemButtonsCount
CMFCMenuBar::GetSystemMenu
CMFCMenuBar::HighlightDisabledItems Gibt an, ob deaktivierte Menüelemente hervorgehoben sind.
CMFCMenuBar::IsButtonExtraSizeAvailable Bestimmt, ob die Symbolleiste Schaltflächen mit erweiterten Rahmen anzeigen kann. (Außerkraftsetzungen CMFCToolBar::IsButtonExtraSizeAvailable.)
CMFCMenuBar::IsHighlightDisabledItems Gibt an, ob deaktivierte Elemente hervorgehoben sind.
CMFCMenuBar::IsMenuShadows Gibt an, ob Schatten für Popupmenüs gezeichnet werden.
CMFCMenuBar::IsRecentlyUsedMenus Gibt an, ob zuletzt verwendete Menübefehle auf der Menüleiste angezeigt werden.
CMFCMenuBar::IsShowAllCommands Gibt an, ob Popupmenüs alle Befehle anzeigen.
CMFCMenuBar::IsShowAllCommandsDelay Gibt an, ob alle Befehle nach kurzer Verzögerung angezeigt werden.
CMFCMenuBar::LoadState Lädt den Status des CMFCMenuBar Objekts aus der Registrierung.
CMFCMenuBar::OnChangeHot Wird vom Framework aufgerufen, wenn ein Benutzer eine Schaltfläche auf der Symbolleiste auswählt. (Außerkraftsetzungen CMFCToolBar::OnChangeHot.)
CMFCMenuBar::OnDefaultMenuLoaded Wird vom Framework aufgerufen, wenn ein Framefenster das Standardmenü aus der Ressourcendatei lädt.
CMFCMenuBar::OnSendCommand (Überschreibt CMFCToolBar::OnSendCommand.)
CMFCMenuBar::OnSetDefaultButtonText Wird vom Framework aufgerufen, wenn sich ein Menü im Anpassungsmodus befindet und der Benutzer den Text eines Menüelements ändert.
CMFCMenuBar::OnToolHitTest (Überschreibt CMFCToolBar::OnToolHitTest.)
CMFCMenuBar::P reTranslateMessage (Überschreibt CMFCToolBar::PreTranslateMessage.)
CMFCMenuBar::RestoreOriginalstate Wird vom Framework aufgerufen, wenn sich ein Menü im Anpassungsmodus befindet und der Benutzer "Zurücksetzen " für eine Menüleiste auswählt.
CMFCMenuBar::SaveState Speichert den Status des CMFCMenuBar Objekts in der Registrierung.
CMFCMenuBar::SetDefaultMenuResId Legt das ursprüngliche Menü in der Ressourcendatei fest.
CMFCMenuBar::SetForceDownArrows
CMFCMenuBar::SetMaximizeMode Wird vom Framework aufgerufen, wenn ein untergeordnetes MDI-Fenster seinen Anzeigemodus ändert. Wenn das untergeordnete MDI-Fenster neu maximiert oder nicht mehr maximiert ist, aktualisiert diese Methode die Menüleiste.
CMFCMenuBar::SetMenuButtonRTC Legt die Laufzeitklasseninformationen fest, die generiert werden, wenn der Benutzer dynamisch Menüschaltflächen erstellt.
CMFCMenuBar::SetMenuFont Legt die Schriftart für alle Menüs in der Anwendung fest.
CMFCMenuBar::SetRecentlyUsedMenus Gibt an, ob in einer Menüleiste zuletzt verwendete Menübefehle angezeigt werden.
CMFCMenuBar::SetShowAllCommands Gibt an, ob in der Menüleiste alle Befehle angezeigt werden.

Hinweise

Die CMFCMenuBar Klasse ist eine Menüleiste, die Andockfunktionen implementiert. Es ähnelt einer Symbolleiste, obwohl sie nicht geschlossen werden kann - sie wird immer angezeigt.

CMFCMenuBar unterstützt die Option zum Anzeigen von zuletzt verwendeten Menüelementobjekten. Wenn diese Option aktiviert ist, werden in der CMFCMenuBar ersten Anzeige nur eine Teilmenge der verfügbaren Befehle angezeigt. Danach werden zuletzt verwendete Befehle zusammen mit der ursprünglichen Teilmenge von Befehlen angezeigt. Darüber hinaus kann der Benutzer das Menü immer erweitern, um alle verfügbaren Befehle anzuzeigen. Daher ist jeder verfügbare Befehl so konfiguriert, dass er ständig angezeigt wird oder nur angezeigt wird, wenn er kürzlich ausgewählt wurde.

Um ein CMFCMenuBar Objekt zu verwenden, betten Sie es in das Hauptfensterrahmenobjekt ein. Bei der Verarbeitung der Nachricht, des Anrufs WM_CREATE CMFCMenuBar::Create oder CMFCMenuBar::CreateExder . Übergeben Sie unabhängig davon, welche Funktion Sie verwenden, einen Zeiger an das Hauptrahmenfenster. Aktivieren Sie dann das Andocken durch Aufrufen von CFrameWndEx::EnableDocking. Andocken Sie dieses Menü, indem Sie CFrameWndEx::D ockPane aufrufen.

Beispiel

Das folgende Beispiel veranschaulicht die Verwendung verschiedener Methoden in der CMFCMenuBar -Klasse. Das Beispiel zeigt, wie Sie die Formatvorlage des Bereichs festlegen, die Schaltfläche "Anpassen" aktivieren, ein Hilfefeld aktivieren, Schatten für Popupmenüs aktivieren und die Menüleiste aktualisieren. Dieser Codeausschnitt ist Teil des IE-Demobeispiels.

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

Vererbungshierarchie

CObject

CCmdTarget

CWnd

CBasePane

CPane

CMFCBaseToolBar

CMFCToolBar

CMFCMenuBar

Anforderungen

Kopfzeile: afxmenubar.h

CMFCMenuBar::AdjustLocations

Passt die Positionen der Menüelemente auf der Menüleiste an.

virtual void AdjustLocations();

Hinweise

CMFCMenuBar::AllowChangeTextLabels

Bestimmt, ob Textbeschriftungen unter Bildern in der Menüleiste zulässig sind.

virtual BOOL AllowChangeTextLabels() const;

Rückgabewert

Gibt TRUE zurück, wenn der Benutzer textbeschriftungen unter Bildern anzeigen kann.

Hinweise

CMFCMenuBar::AllowShowOnPaneMenu

virtual BOOL AllowShowOnPaneMenu() const;

Rückgabewert

Bemerkungen

CMFCMenuBar::CalcFixedLayout

virtual CSize CalcFixedLayout(
    BOOL bStretch,
    BOOL bHorz);

Parameter

[in] bStretch

[in] bHorz

Rückgabewert

Bemerkungen

CMFCMenuBar::CalcLayout

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

Parameter

[in] dwMode

[in] nLength

Rückgabewert

Bemerkungen

CMFCMenuBar::CalcMaxButtonHeight

virtual int CalcMaxButtonHeight();

Rückgabewert

Bemerkungen

CMFCMenuBar::CanBeClosed

virtual BOOL CanBeClosed() const;

Rückgabewert

Bemerkungen

CMFCMenuBar::CanBeRestored

virtual BOOL CanBeRestored() const;

Rückgabewert

Bemerkungen

CMFCMenuBar::Create

Erstellt ein Menüsteuerelement und fügt es an ein CMFCMenuBar -Objekt an.

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

Parameter

pParentWnd
[in] Zeigen Sie auf das übergeordnete Fenster für das neue CMFCMenuBar Objekt.

dwStyle
[in] Die Formatvorlage der neuen Menüleiste.

Nid
[in] Die ID für das untergeordnete Fenster der Menüleiste.

Rückgabewert

TRUE, wenn erfolgreich, andernfalls FALSE.

Hinweise

Nachdem Sie ein CMFCMenuBar Objekt erstellt haben, müssen Sie aufrufen Create. Diese Methode erstellt das CMFCMenuBar Steuerelement und fügt es an das CMFCMenuBar Objekt an.

Weitere Informationen zu Symbolleistenformatvorlagen finden Sie unter "CBasePane::SetPaneStyle".

CMFCMenuBar::CreateEx

Erstellt ein CMFCMenuBar -Objekt mit angegebenen erweiterten Formatvorlagen.

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

Parameter

pParentWnd
[in] Zeigen Sie auf das übergeordnete Fenster des neuen CMFCMenuBar Objekts.

dwCtrlStyle
[in] Zusätzliche Formatvorlagen für die neue Menüleiste.

dwStyle
[in] Die Hauptformatvorlage der neuen Menüleiste.

rcBorders
[in] Ein CRect Parameter, der die Größen für die Rahmen des CMFCMenuBar Objekts angibt.

Nid
[in] Die ID für das untergeordnete Fenster der Menüleiste.

Rückgabewert

Nonzero, wenn die Methode erfolgreich ist; andernfalls 0.

Hinweise

Sie sollten diese Funktion anstelle von CMFCMenuBar::Create verwenden, wenn Sie zusätzlich zur Symbolleistenformatvorlage Formatvorlagen angeben möchten. Einige häufig verwendete zusätzliche Formatvorlagen sind TBSTYLE_TRANSPARENT und CBRS_TOP.

Listen mit zusätzlichen Formatvorlagen finden Sie unter Symbolleisten-Steuerelement- und Schaltflächenformatvorlagen, allgemeine Steuerelementstile und allgemeine Fensterstile.

Beispiel

Im folgenden Beispiel wird die Verwendung der CreateEx Methode der CMFCMenuBar Klasse veranschaulicht. Dieser Codeausschnitt ist Teil des IE-Demobeispiels.

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

Initialisiert ein CMFCMenuBar -Objekt. Diese Methode modelliert das CMFCMenuBar Objekt nach einem HMENU-Parameter.

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

Parameter

hMenu
[in] Ein Handle zu einer Menüressource. CreateFromMenu verwendet diese Ressource als Vorlage für die CMFCMenuBar.

bDefaultMenu
[in] Ein Boolescher Wert, der angibt, ob das neue Menü das Standardmenü ist.

bForceUpdate
[in] Ein Boolescher Wert, der angibt, ob diese Methode eine Menüaktualisierung erzwingt.

Hinweise

Verwenden Sie diese Methode, wenn ein Menüsteuerelement dieselben Menüelemente wie eine Menüressource aufweisen soll. Sie rufen diese Methode auf, nachdem Sie entweder CMFCMenuBar::Create oder CMFCMenuBar::CreateEx aufgerufen haben.

CMFCMenuBar::EnableHelpCombobox

Aktiviert ein Hilfe-Kombinationsfeld , das sich auf der rechten Seite der Menüleiste befindet.

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

Parameter

uiID
[in] Die Befehls-ID für die Schaltfläche des Hilfe-Kombinationsfelds .

lpszPrompt
[in] Eine Zeichenfolge, die den Text enthält, den das Framework im Kombinationsfeld anzeigt, wenn es leer und nicht aktiv ist. Beispiel: "Geben Sie den Text hier ein".

nComboBoxWidth
[in] Die Breite der Schaltfläche für das Kombinationsfeld in Pixeln.

Hinweise

Das Kombinationsfeld "Hilfe " ähnelt dem Kombinationsfeld "Hilfe " in der Menüleiste von Microsoft Word.

Wenn Sie diese Methode mit uiID auf 0 aufrufen, blendet diese Methode das Kombinationsfeld aus. Andernfalls zeigt diese Methode das Kombinationsfeld automatisch auf der rechten Seite der Menüleiste an. Rufen Sie nach dem Aufrufen dieser Methode CMFCMenuBar::GetHelpCombobox auf, um einen Zeiger auf das eingefügte CMFCToolBarComboBoxButton -Objekt abzurufen.

CMFCMenuBar::EnableMenuShadows

Aktiviert Schatten für Popupmenüs.

static void EnableMenuShadows(BOOL bEnable = TRUE);

Parameter

bEnable
[in] Ein boolescher Parameter, der angibt, ob Schatten für Popupmenüs aktiviert werden sollen.

Hinweise

Der von dieser Methode verwendete Algorithmus ist komplex und kann die Leistung Ihrer Anwendung auf langsameren Systemen verringern.

CMFCMenuBar::GetAvailableExpandSize

virtual int GetAvailableExpandSize() const;

Rückgabewert

Bemerkungen

CMFCMenuBar::GetColumnWidth

virtual int GetColumnWidth() const;

Rückgabewert

Bemerkungen

CMFCMenuBar::GetDefaultMenu

Ruft ein Handle zum ursprünglichen Menü ab. Das Framework lädt das ursprüngliche Menü aus der Ressourcendatei.

HMENU GetDefaultMenu() const;

Rückgabewert

Ein Handle zu einer Menüressource.

Hinweise

Wenn Ihre Anwendung ein Menü anpasst, können Sie diese Methode verwenden, um ein Handle zum ursprünglichen Menü abzurufen.

CMFCMenuBar::GetDefaultMenuResId

Ruft den Ressourcenbezeichner für das Standardmenü ab.

UINT GetDefaultMenuResId() const;

Rückgabewert

Ein Menüressourcenbezeichner.

Hinweise

Das Framework lädt das Standardmenü für das CMFCMenuBar Objekt aus der Ressourcendatei.

CMFCMenuBar::GetFloatPopupDirection

int GetFloatPopupDirection(CMFCToolBarMenuButton* pButton);

Parameter

[in] pButton

Rückgabewert

Bemerkungen

CMFCMenuBar::GetForceDownArrows

BOOL GetForceDownArrows();

Rückgabewert

Bemerkungen

CMFCMenuBar::GetHelpCombobox

Gibt einen Zeiger auf das Hilfe-Kombinationsfeld zurück.

CMFCToolBarComboBoxButton* GetHelpCombobox();

Rückgabewert

Ein Zeiger auf das Hilfe-Kombinationsfeld . NULL, wenn das Hilfe-Kombinationsfeld ausgeblendet oder nicht aktiviert ist.

Hinweise

Das Kombinationsfeld "Hilfe " befindet sich auf der rechten Seite der Menüleiste. Rufen Sie die Methode CMFCMenuBar::EnableHelpCombobox auf, um dieses Kombinationsfeld zu aktivieren.

CMFCMenuBar::GetHMenu

Ruft das Handle an das Menü ab, das dem CMFCMenuBar -Objekt zugeordnet ist.

HMENU GetHMenu() const;

CMFCMenuBar::GetMenuFont

Ruft die aktuelle Menüschriftart ab.

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

Parameter

bHorz
[in] Ein boolescher Parameter, der angibt, ob die horizontale oder vertikale Schriftart zurückgegeben werden soll. TRUE gibt die horizontale Schriftart an.

Rückgabewert

Ein Zeiger auf einen CFont-Parameter , der die aktuelle Schriftart der Menüleiste enthält.

Hinweise

Die zurückgegebene Schriftart ist ein globaler Parameter für die Anwendung. Für alle CMFCMenuBar Objekte werden zwei globale Schriftarten verwaltet. Diese separaten Schriftarten werden für horizontale und vertikale Menüleisten verwendet.

CMFCMenuBar::GetMenuItem

Ruft ein CMFCToolBarButton -Objekt auf einer Menüleiste basierend auf dem Elementindex ab.

CMFCToolBarButton* GetMenuItem(int iItem) const;

Parameter

iItem
[in] Der Index des zurückzugebenden Menüelements.

Rückgabewert

Ein Zeiger auf das CMFCToolBarButton Objekt, das dem von iItem angegebenen Index entspricht. NULL, wenn der Index ungültig ist.

CMFCMenuBar::GetRowHeight

virtual int GetRowHeight() const;

Rückgabewert

Bemerkungen

CMFCMenuBar::GetSystemButton

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

Parameter

[in] uiBtn

[in] bByCommand

Rückgabewert

Bemerkungen

CMFCMenuBar::GetSystemButtonsCount

int GetSystemButtonsCount() const;

Rückgabewert

Bemerkungen

CMFCMenuBar::GetSystemMenu

CMFCToolBarSystemMenuButton* GetSystemMenu() const;

Rückgabewert

Bemerkungen

CMFCMenuBar::HighlightDisabledItems

Steuert, ob das Framework deaktivierte Menüelemente hervorhebung.

static void HighlightDisabledItems(BOOL bHighlight = TRUE);

Parameter

bHighlight
[in] Ein boolescher Parameter, der angibt, ob das Framework nicht verfügbare Menüelemente hervorhebung.

Hinweise

Standardmäßig hebt das Framework keine nicht verfügbaren Menüelemente hervor, wenn der Benutzer den Mauszeiger darüber positioniert.

CMFCMenuBar::IsButtonExtraSizeAvailable

virtual BOOL IsButtonExtraSizeAvailable() const;

Rückgabewert

Bemerkungen

CMFCMenuBar::IsHighlightDisabledItems

Gibt an, ob das Framework nicht verfügbare Menüelemente hervorhebung.

static BOOL IsHighlightDisabledItems();

Rückgabewert

TRUE, wenn nicht verfügbare Menüelemente hervorgehoben sind; andernfalls FALSE.

Hinweise

Standardmäßig hebt das Framework keine nicht verfügbaren Menüelemente hervor, wenn der Benutzer den Mauszeiger darüber positioniert. Verwenden Sie die CMFCMenuBar::HighlightDisabledItems-Methode , um dieses Feature zu aktivieren.

CMFCMenuBar::IsMenuShadows

Gibt an, ob das Framework Schatten für Popupmenüs zeichnet.

static BOOL IsMenuShadows();

Rückgabewert

TRUE, wenn das Framework Menüschatten zeichnet; andernfalls FALSE.

Hinweise

Verwenden Sie die CMFCMenuBar::EnableMenuShadows-Methode , um dieses Feature zu aktivieren oder zu deaktivieren.

CMFCMenuBar::IsRecentlyUsedMenus

Gibt an, ob zuletzt verwendete Menübefehle auf der Menüleiste angezeigt werden.

static BOOL IsRecentlyUsedMenus();

Rückgabewert

Nonzero, wenn das CMFCMenuBar Objekt zuletzt verwendete Menübefehle anzeigt; andernfalls 0.

Hinweise

Verwenden Sie die Funktion CMFCMenuBar::SetRecentlyUsedMenus , um zu steuern, ob in der Menüleiste zuletzt verwendete Menübefehle angezeigt werden.

CMFCMenuBar::IsShowAllCommands

Gibt an, ob alle Befehle in Menüs angezeigt werden.

static BOOL IsShowAllCommands();

Rückgabewert

Nonzero, wenn alle CMFCMenuBar Befehle angezeigt werden; andernfalls 0.

Hinweise

Ein CMFCMenuBar Objekt kann so konfiguriert werden, dass entweder alle Befehle angezeigt oder nur eine Teilmenge von Befehlen angezeigt wird. Weitere Informationen zu diesem Feature finden Sie unter CMFCMenuBar Class.

IsShowAllCommands teilt Ihnen mit, wie dieses Feature für das CMFCMenuBar Objekt konfiguriert ist. Um zu steuern, welche Menübefehle angezeigt werden, verwenden Sie die Methoden CMFCMenuBar::SetShowAllCommands und CMFCMenuBar::SetRecentlyUsedMenus.

CMFCMenuBar::IsShowAllCommandsDelay

Gibt an, ob das CMFCMenuBar -Objekt alle Befehle nach kurzer Verzögerung anzeigt.

static BOOL IsShowAllCommandsDelay();

Rückgabewert

Nonzero, wenn in der Menüleiste nach kurzer Verzögerung vollständige Menüs angezeigt werden; andernfalls 0.

Hinweise

Wenn Sie eine Menüleiste so konfigurieren, dass zuletzt verwendete Elemente angezeigt werden, zeigt die Menüleiste das vollständige Menü auf eine von zwei Arten an:

  • Zeigt das vollständige Menü nach einer programmierten Verzögerung an, wenn der Benutzer den Cursor über den Pfeil am unteren Rand des Menüs bewegt.

  • Zeigen Sie das vollständige Menü an, nachdem der Benutzer unten im Menü auf den Pfeil geklickt hat.

Standardmäßig verwenden alle CMFCMenuBar Objekte die Option, um das vollständige Menü nach kurzer Verzögerung anzuzeigen. Diese Option kann nicht programmgesteuert in der CMFCMenuBar Klasse geändert werden. Ein Benutzer kann jedoch das Verhalten während der Symbolleistenanpassung mithilfe des Dialogfelds "Anpassen " ändern.

CMFCMenuBar::LoadState

Lädt den Status der Menüleiste aus der Windows-Registrierung.

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

Parameter

lpszProfileName
[in] Eine Zeichenfolge, die den Pfad eines Windows-Registrierungsschlüssels enthält.

nIndex
[in] Die Steuerelement-ID für die Menüleiste.

uiID
[Eingabe] Ein reservierter Wert

Rückgabewert

TRUE, wenn die Methode erfolgreich war; andernfalls FALSE.

Hinweise

Verwenden Sie die CMFCMenuBar::SaveState-Methode , um den Status der Menüleiste in der Registrierung zu speichern. Die gespeicherten Informationen enthalten die Menüelemente, den Dockzustand und die Position der Menüleiste.

In den meisten Fällen wird ihre Anwendung nicht aufgerufen LoadState. Das Framework ruft diese Methode auf, wenn sie den Arbeitsbereich initialisiert.

CMFCMenuBar::OnChangeHot

virtual void OnChangeHot(int iHot);

Parameter

[in] iHot

Hinweise

CMFCMenuBar::OnDefaultMenuLoaded

Das Framework ruft diese Methode auf, wenn sie die Menüressource aus der Ressourcendatei lädt.

virtual void OnDefaultMenuLoaded(HMENU hMenu);

Parameter

hMenu
[in] Der Ziehpunkt für das dem Objekt zugeordnete CMFCMenuBar Menü.

Hinweise

Bei der Standardimplementierung dieser Funktion wird keine Aktion ausgeführt. Überschreiben Sie diese Funktion, um benutzerdefinierten Code auszuführen, nachdem das Framework eine Menüressource aus der Ressourcendatei geladen hat.

CMFCMenuBar::OnSendCommand

virtual BOOL OnSendCommand(const CMFCToolBarButton* pButton);

Parameter

[in] pButton

Rückgabewert

Bemerkungen

CMFCMenuBar::OnSetDefaultButtonText

Das Framework ruft diese Methode auf, wenn der Benutzer den Text eines Elements auf der Menüleiste ändert.

virtual BOOL OnSetDefaultButtonText(CMFCToolBarButton* pButton);

Parameter

pButton
[in] Ein Zeiger auf das CMFCToolBarButton -Objekt, das der Benutzer anpassen möchte.

Rückgabewert

TRUE, wenn das Framework den Benutzer auf die Menüleiste anwendet; andernfalls FALSE.

Hinweise

Die Standardimplementierung für diese Methode ändert den Text der Schaltfläche in den vom Benutzer bereitgestellten Text.

CMFCMenuBar::OnToolHitTest

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

Parameter

[in] Punkt

[in] Pti

Rückgabewert

Bemerkungen

CMFCMenuBar::P reTranslateMessage

virtual BOOL PreTranslateMessage(MSG* pMsg);

Parameter

[in] pMsg

Rückgabewert

Bemerkungen

CMFCMenuBar::RestoreOriginalstate

Wird vom Framework aufgerufen, wenn der Benutzer im Dialogfeld "Anpassen" die Option "Zurücksetzen" auswählt.

virtual BOOL RestoreOriginalstate();

Rückgabewert

Nonzero, wenn die Methode erfolgreich ist; andernfalls 0.

Hinweise

Diese Methode wird aufgerufen, wenn der Benutzer im Anpassungsmenü "Zurücksetzen " auswählt. Sie können diese Methode auch manuell aufrufen, um den Zustand der Menüleiste programmgesteuert zurückzusetzen. Diese Methode lädt den ursprünglichen Zustand aus der Ressourcendatei.

Überschreiben Sie diese Methode, wenn Sie eine Verarbeitung durchführen möchten, wenn der Benutzer die Option "Zurücksetzen " auswählt.

CMFCMenuBar::SaveState

Speichert den Status des CMFCMenuBar -Objekts in der Windows-Registrierung.

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

Parameter

lpszProfileName
[in] Eine Zeichenfolge, die den Pfad eines Windows-Registrierungsschlüssels enthält.

nIndex
[in] Die Steuerelement-ID für die Menüleiste.

uiID
[Eingabe] Ein reservierter Wert

Rückgabewert

TRUE, wenn erfolgreich; andernfalls FALSE;

Hinweise

In der Regel ruft Ihre Anwendung nicht auf SaveState. Das Framework ruft diese Methode auf, wenn der Arbeitsbereich serialisiert wird. Weitere Informationen finden Sie unter CWinAppEx::SaveState.

Die gespeicherten Informationen enthalten die Menüelemente, den Dockzustand und die Position der Menüleiste.

CMFCMenuBar::SetDefaultMenuResId

Legt das Standardmenü für ein CMFCMenuBar -Objekt basierend auf der Ressourcen-ID fest.

void SetDefaultMenuResId(UINT uiResId);

Parameter

uiResId
[in] Die Ressourcen-ID für das neue Standardmenü.

Hinweise

Die CMFCMenuBar::RestoreOriginalstate-Methode stellt das Standardmenü aus der Ressourcendatei wieder her.

Verwenden Sie die CMFCMenuBar::GetDefaultMenuResId-Methode , um das Standardmenü abzurufen, ohne es wiederherzustellen.

CMFCMenuBar::SetForceDownArrows

void SetForceDownArrows(BOOL bValue);

Parameter

[in] bValue

Hinweise

CMFCMenuBar::SetMaximizeMode

Das Framework ruft diese Methode auf, wenn ein MDI seinen Anzeigemodus ändert und die Menüleiste aktualisiert werden muss.

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

Parameter

bMax
[in] Ein Boolescher Wert, der den Modus angibt. Weitere Informationen finden Sie im Abschnitt Bemerkungen.

pWnd
[in] Ein Zeiger auf das untergeordnete MDI-Fenster, das geändert wird.

bRecalcLayout
[in] Ein Boolescher Wert, der angibt, ob das Layout der Menüleiste sofort neu berechnet werden soll.

Hinweise

Wenn ein untergeordnetes MDI-Fenster maximiert wird, zeigt eine menüleiste, die dem MDI-Hauptrahmenfenster zugeordnet ist, das Systemmenü und die Schaltflächen "Minimieren", "Maximieren" und "Schließen" an. Wenn bMax WAHR ist und pWnd nicht NULL ist, wird das untergeordnete MDI-Fenster maximiert, und die Menüleiste muss die zusätzlichen Steuerelemente enthalten. Andernfalls kehrt die Menüleiste zum regulären Zustand zurück.

CMFCMenuBar::SetMenuButtonRTC

Legt die Laufzeitklasseninformationen fest, die das Framework verwendet, wenn der Benutzer Menüschaltflächen erstellt.

void SetMenuButtonRTC(CRuntimeClass* pMenuButtonRTC);

Parameter

pMenuButtonRTC
[in] Die CRuntimeClass-Informationen für eine Von der CMFCMenuButton-Klasse abgeleitete Klasse.

Hinweise

Wenn ein Benutzer der Menüleiste neue Schaltflächen hinzufügt, erstellt das Framework die Schaltflächen dynamisch. Standardmäßig werden Objekte erstellt CMFCMenuButton . Überschreiben Sie diese Methode, um den Typ von Schaltflächenobjekten zu ändern, die das Framework erstellt.

CMFCMenuBar::SetMenuFont

Legt die Schriftart für alle Menüleisten in Ihrer Anwendung fest.

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

Parameter

lpLogFont
[in] Ein Zeiger auf eine LOGFONT-Struktur , die die festzulegende Schriftart definiert.

bHorz
[in] TRUE, wenn der lpLogFont-Parameter für die vertikale Schriftart verwendet werden soll, FALSE, wenn er für die horizontale Schriftart verwendet werden soll.

Rückgabewert

TRUE, wenn die Methode erfolgreich war; andernfalls FALSE.

Hinweise

Für alle CMFCMenuBar Objekte werden zwei Schriftarten verwendet. Diese separaten Schriftarten werden für horizontale und vertikale Menüleisten verwendet.

Die Schriftarteinstellungen sind globale Variablen und wirken sich auf alle CMFCMenuBar Objekte aus.

CMFCMenuBar::SetRecentlyUsedMenus

Steuert, ob in einer Menüleiste zuletzt verwendete Menübefehle angezeigt werden.

static void SetRecentlyUsedMenus (BOOL bOn = TRUE);

Parameter

Bön
[in] Ein Boolescher Wert, der steuert, ob zuletzt verwendete Menübefehle angezeigt werden.

CMFCMenuBar::SetShowAllCommands

Steuert, ob in einem Menü alle verfügbaren Befehle angezeigt werden.

static void SetShowAllCommands(BOOL bShowAllCommands = TRUE);

Parameter

bShowAllCommands
[in] Ein boolescher Parameter, der angibt, ob im Popupmenü alle Menübefehle angezeigt werden.

Hinweise

Wenn in einem Menü nicht alle Menübefehle angezeigt werden, blendet es die selten verwendeten Befehle aus. Weitere Informationen zum Anzeigen von Menübefehlen finden Sie unter CMFCMenuBar Class.

Siehe auch

Hierarchiediagramm
Klassen
CMFCToolBar-Klasse