Freigeben über


CMFCToolBarMenuButton-Klasse

Eine Symbolleisten-Schaltfläche, die ein Popupmenü enthält. Ausführliche Informationen finden Sie im Quellcode des Ordners VC\atlmfc\src\mfc der Visual Studio-Installation.

Syntax

class CMFCToolBarMenuButton : public CMFCToolBarButton

Member

Öffentliche Konstruktoren

Name Beschreibung
CMFCToolBarMenuButton::CMFCToolBarMenuButton Erstellt ein CMFCToolBarMenuButton-Objekt.

Öffentliche Methoden

Name Beschreibung
CMFCToolBarMenuButton::CompareWith Vergleicht diese Instanz mit dem bereitgestellten CMFCToolBarButton Objekt. (Außerkraftsetzungen CMFCToolBarButton::CompareWith.)
CMFCToolBarMenuButton::CopyFrom Kopiert die Eigenschaften einer anderen Symbolleistenschaltfläche auf die aktuelle Schaltfläche. (Außerkraftsetzungen CMFCToolBarButton::CopyFrom.)
CMFCToolBarMenuButton::CreateFromMenu Initialisiert das Symbolleistenmenü aus einem Windows-Menüziehpunkt.
CMFCToolBarMenuButton::CreateMenu Erstellt ein Windows-Menü, das aus den Befehlen im Symbolleistenmenü besteht. Gibt ein Handle zum Windows-Menü zurück.
CMFCToolBarMenuButton::CreatePopupMenuMenu Erstellt ein Popupmenüobjekt ( CMFCPopupMenu Class), um das Symbolleistenmenü anzuzeigen.
CMFCToolBarMenuButton::EnableQuickCustomize
CMFCToolBarMenuButton::GetCommands Ermöglicht schreibgeschützten Zugriff auf die Liste der Befehle im Symbolleistenmenü.
CMFCToolBarMenuButton::GetImageRect Ruft das umgebende Rechteck für das Schaltflächenbild ab.
CMFCToolBarMenuButton::GetPaletteRows Gibt die Anzahl der Zeilen im Popupmenü zurück, wenn sich das Menü im Palettenmodus befindet.
CMFCToolBarMenuButton::GetPopupMenuMenu Gibt einen Zeiger auf das Popupmenüobjekt zurück, das der Schaltfläche zugeordnet ist.
CMFCToolBarMenuButton::HasButton
CMFCToolBarMenuButton::HaveHotBorder Bestimmt, ob ein Rahmen der Schaltfläche angezeigt wird, wenn ein Benutzer die Schaltfläche auswählt. (Außerkraftsetzungen CMFCToolBarButton::HaveHotBorder.)
CMFCToolBarMenuButton::IsBorder
CMFCToolBarMenuButton::IsClickedOnMenu
CMFCToolBarMenuButton::IsDroppedDown Bestimmt, ob das Popupmenü angezeigt wird.
CMFCToolBarMenuButton::IsEmptyMenuAllowed Wird vom Framework aufgerufen, um zu bestimmen, ob ein Benutzer ein Untermenü aus dem ausgewählten Menüelement öffnen kann.
CMFCToolBarMenuButton::IsExclusive Bestimmt, ob sich die Schaltfläche im exklusiven Modus befindet, d. h., ob das Popupmenü geöffnet bleibt, auch wenn der Benutzer den Mauszeiger über eine andere Symbolleiste oder Schaltfläche bewegt.
CMFCToolBarMenuButton::IsMenuPaletteMode Bestimmt, ob sich das Popupmenü im Palettenmodus befindet.
CMFCToolBarMenuButton::IsQuickMode
CMFCToolBarMenuButton::IsTearOffMenu Bestimmt, ob das Popupmenü eine Abrissleiste aufweist.
CMFCToolBarMenuButton::OnAfterCreatePopupMenuMenu
CMFCToolBarMenuButton::OnBeforeDrag Gibt an, ob die Schaltfläche gezogen werden kann. (Außerkraftsetzungen CMFCToolBarButton::OnBeforeDrag.)
CMFCToolBarMenuButton::OnCalculateSize Wird vom Framework aufgerufen, um die Größe der Schaltfläche für den angegebenen Gerätekontext und Andockzustand zu berechnen. (Außerkraftsetzungen CMFCToolBarButton::OnCalculateSize.)
CMFCToolBarMenuButton::OnCancelMode Vom Framework aufgerufen, um die WM_CANCELMODE Nachricht zu verarbeiten. (Außerkraftsetzungen CMFCToolBarButton::OnCancelMode.)
CMFCToolBarMenuButton::OnChangeParentWnd Wird vom Framework aufgerufen, wenn die Schaltfläche in eine neue Symbolleiste eingefügt wird. (Außerkraftsetzungen CMFCToolBarButton::OnChangeParentWnd.)
CMFCToolBarMenuButton::OnClick Wird vom Framework aufgerufen, wenn der Benutzer auf die Maustaste klickt. (Außerkraftsetzungen CMFCToolBarButton::OnClick.)
CMFCToolBarMenuButton::OnClickMenuItem Wird vom Framework aufgerufen, wenn der Benutzer ein Element im Popupmenü auswählt.
CMFCToolBarMenuButton::OnContextHelp Wird vom Framework aufgerufen, wenn die übergeordnete Symbolleiste eine WM_HELPHITTEST Nachricht behandelt. (Außerkraftsetzungen CMFCToolBarButton::OnContextHelp.)
CMFCToolBarMenuButton::OnDraw Wird vom Framework aufgerufen, um die Schaltfläche mithilfe der angegebenen Stile und Optionen zu zeichnen. (Außerkraftsetzungen CMFCToolBarButton::OnDraw.)
CMFCToolBarMenuButton::OnDrawOnCustomizeList Wird vom Framework aufgerufen, um die Schaltfläche im Befehlsbereich des Dialogfelds Anpassen zu zeichnen. (Außerkraftsetzungen CMFCToolBarButton::OnDrawOnCustomizeList.)
CMFCToolBarMenuButton::OpenPopupMenuMenu Wird vom Framework aufgerufen, wenn der Benutzer das Popupmenü öffnet.
CMFCToolBarMenuButton::ResetImageToDefault Legt den Standardwert auf das Bild fest, das der Schaltfläche zugeordnet ist. (Außerkraftsetzungen CMFCToolBarButton::ResetImageToDefault.)
CMFCToolBarMenuButton::SaveBarState Speichert den Status der Symbolleistenschaltfläche. (Außerkraftsetzungen CMFCToolBarButton::SaveBarState.)
CMFCToolBarMenuButton::Serialize Liest dieses Objekt aus einem Archiv oder schreibt es in ein Archiv. (Außerkraftsetzungen CMFCToolBarButton::Serialize.)
CMFCToolBarMenuButton::SetACCData Füllt das bereitgestellte CAccessibilityData Objekt mit Barrierefreiheitsdaten aus der Symbolleistenschaltfläche auf. (Außerkraftsetzungen CMFCToolBarButton::SetACCData.)
CMFCToolBarMenuButton::SetMenuOnly Gibt an, ob die Schaltfläche einer Symbolleiste hinzugefügt werden kann.
CMFCToolBarMenuButton::SetMenuPaletteMode Gibt an, ob sich das Popupmenü im Palettenmodus befindet.
CMFCToolBarMenuButton::SetMessageWnd
CMFCToolBarMenuButton::SetRadio Erzwingt die Symbolleistenmenüschaltfläche, um ein Symbol anzuzeigen, das angibt, dass es ausgewählt ist.
CMFCToolBarMenuButton::SetTearOff Gibt eine Reißleisten-ID für das Popupmenü an.

Geschützte Methoden

Name Beschreibung
CMFCToolBarMenuButton::D rawDocumentIcon Zeichnet ein Symbol auf der Menüschaltfläche.

Datenelemente

Name Beschreibung
CMFCToolBarMenuButton::m_bAlwaysCallOwnerDraw Wenn TRUE, ruft das Framework immer CFrameWndEx::OnDrawMenuImage auf, wenn eine Schaltfläche gezeichnet wird.

Hinweise

A CMFCToolBarMenuButton kann als Menü, ein Menüelement mit einem Untermenü, eine Schaltfläche, die entweder einen Befehl ausführt oder ein Menü anzeigt, oder eine Schaltfläche, die nur ein Menü anzeigt, angezeigt werden. Sie bestimmen das Verhalten und die Darstellung der Menüschaltfläche, indem Sie Parameter wie Bild, Text, Menühandle und Befehls-ID angeben, die der Schaltfläche im Konstruktor CMFCToolbarMenuButton::CMFCToolbarMenuButtonzugeordnet ist.

Eine von der CMFCToolbarMenuButton Klasse abgeleitete benutzerdefinierte Klasse muss das DECLARE_SERIAL-Makro verwenden. Das DECLARE_DYNCREATE Makro generiert einen Fehler, wenn die Anwendung geschlossen wird.

Beispiel

Im folgenden Beispiel wird veranschaulicht, wie ein CMFCToolBarMenuButton Objekt konfiguriert wird. Der Code veranschaulicht, wie Sie angeben, dass sich das Dropdownmenü im Palettenmodus befindet, und die ID für die Reißleiste angeben, die erstellt wird, wenn der Benutzer die Menüschaltfläche aus einer Menüleiste zieht. Dieser Codeausschnitt ist Teil des WordPad-Beispiels.

pBorderType->SetMenuPaletteMode(TRUE, 2 /* Rows number */);
pBorderType->SetTearOff(ID_BORDER_TEAROFF);

Vererbungshierarchie

CObject

CMFCToolBarButton

CMFCToolBarMenuButton

Anforderungen

Header: afxtoolbarmenubutton.h

CMFCToolBarMenuButton::CMFCToolBarMenuButton

Erstellt ein CMFCToolBarMenuButton-Objekt.

CMFCToolBarMenuButton();
CMFCToolBarMenuButton(const CMFCToolBarMenuButton& src);

CMFCToolBarMenuButton(
    UINT uiID,
    HMENU hMenu,
    int iImage,
    LPCTSTR lpszText=NULL,
    BOOL bUserButton=FALSE);

Parameter

src
[in] Ein vorhandenes CMFCToolBarMenuButton Objekt, das in dieses CMFCToolBarMenuButton Objekt kopiert werden soll.

uiID
[in] Die ID des auszuführenden Befehls, wenn ein Benutzer auf die Schaltfläche klickt; oder (UINT)-1 für eine Menüschaltfläche, die keinen Befehl direkt ausführt.

hMenu
[in] Ein Griff zu einem Menü; oder NULL, wenn die Schaltfläche nicht über ein Menü verfügt.

iImage
[in] Index des Bilds für die Schaltfläche; oder -1, wenn diese Schaltfläche kein Symbol enthält oder das Symbol für den befehl verwendet, der durch uiID angegeben wird. Der Index ist für jedes CMFCToolBarImages Objekt in Ihrer Anwendung identisch.

lpszText
[in] Der Text der Symbolleistenmenüschaltfläche.

bUserButton
[in] TRUE, wenn die Schaltfläche ein benutzerdefiniertes Bild anzeigt; FALSE, wenn die Schaltfläche ein vordefiniertes Bild anzeigt, das dem durch uiID angegebenen Befehl zugeordnet ist.

Hinweise

Wenn uiID eine gültige Befehls-ID ist, führt die Schaltfläche diesen Befehl aus, wenn der Benutzer darauf klickt. Wenn hMenu ein gültiger Menüpunkt ist, stellt die Schaltfläche ein Dropdownmenü bereit, wenn es in einer Symbolleiste oder einem Untermenü angezeigt wird, wenn es in einem Menü angezeigt wird. Wenn sowohl uiID als auch hMenu gültig sind, handelt es sich bei der Schaltfläche um eine geteilte Schaltfläche mit einem Teil, der den Befehl ausführt, wenn der Benutzer darauf klickt, und ein Teil mit einem Pfeil nach unten, der ein Menü anzeigt, wenn der Benutzer darauf klickt. Wenn hMenu jedoch gültig ist, kann ein Benutzer nicht auf die Schaltfläche klicken, um einen Befehl auszuführen, wenn die Schaltfläche in ein Menü eingefügt wird.

Beispiel

Im folgenden Beispiel wird veranschaulicht, wie ein Objekt der CMFCToolBarMenuButton Klasse erstellt wird. Dieser Codeausschnitt ist Teil des WordPad-Beispiels.

CMFCToolBarMenuButton *pBorderType = new CMFCToolBarMenuButton(ID_BORDER_1, pPopup->GetSafeHmenu(),
                                                               GetCmdMgr()->GetCmdImage(ID_BORDER_1, FALSE),
                                                               _T("Borders"));

CMFCToolBarMenuButton::CompareWith

virtual BOOL CompareWith(const CMFCToolBarButton& other) const;

Parameter

[in] andere

Rückgabewert

Bemerkungen

CMFCToolBarMenuButton::CopyFrom

virtual void CopyFrom(const CMFCToolBarButton& src);

Parameter

[in] Src

Hinweise

CMFCToolBarMenuButton::CreateFromMenu

Initialisiert das Symbolleistenmenü aus einem Windows-Menüziehpunkt.

virtual void CreateFromMenu(HMENU hMenu);

Parameter

hMenu
[in] Ein Handle zu einem Menü.

Hinweise

Eine Symbolleistenmenüschaltfläche kann ein Dropdown-Untermenü anzeigen.

Das Framework ruft diese Methode auf, um die Befehle im Untermenü aus einem Menü zu initialisieren.

CMFCToolBarMenuButton::CreateMenu

Erstellt ein Menü, das aus den Befehlen im Symbolleistenmenü besteht. Gibt einen Ziehpunkt für das Menü zurück.

virtual HMENU CreateMenu() const;

Rückgabewert

Ein Handle für das Menü, wenn der Erfolg erfolgreich ist. NULL, wenn die Liste der Befehle, die der Symbolleistenmenüschaltfläche zugeordnet sind, leer ist.

Hinweise

Sie können diese Methode in einer abgeleiteten Klasse überschreiben, um die Art und Weise anzupassen, wie das Menü generiert wird.

CMFCToolBarMenuButton::CreatePopupMenuMenu

Erstellt ein CMFCPopupMenu Objekt zum Anzeigen des Symbolleistenmenüs.

virtual CMFCPopupMenu* CreatePopupMenu();

Rückgabewert

Ein Zeiger auf ein CMFCPopupMenu Objekt, das das Dropdownmenü anzeigt, das der Symbolleistenmenüschaltfläche zugeordnet ist.

Hinweise

Diese Methode wird vom Framework aufgerufen, um die Anzeige des Dropdownmenüs vorzubereiten, das der Schaltfläche zugeordnet ist.

Die Standardimplementierung erstellt nur und gibt ein neues CMFCPopupMenu Objekt zurück. Überschreiben Sie diese Methode, wenn Sie einen abgeleiteten TYP der CMFCPopupMenu-Klasse verwenden oder zusätzliche Initialisierungen ausführen möchten.

CMFCToolBarMenuButton::D rawDocumentIcon

Zeichnet ein Dokumentsymbol auf der Menüschaltfläche.

void DrawDocumentIcon(
    CDC* pDC,
    const CRect& rectImage,
    HICON hIcon);

Parameter

pDC
[in] Ein Zeiger auf den Gerätekontext.

rectImage
[in] Koordinaten des umgebenden Rechtecks des Bilds.

hIcon
[in] Ein Ziehpunkt für das Symbol.

Hinweise

Diese Methode verwendet ein Dokumentsymbol und zeichnet es auf der Menüschaltfläche, zentriert in dem durch rectImage angegebenen Bereich.

CMFCToolBarMenuButton::EnableQuickCustomize

void EnableQuickCustomize();

Hinweise

CMFCToolBarMenuButton::HasButton

virtual BOOL HasButton() const;

Rückgabewert

Bemerkungen

CMFCToolBarMenuButton::HaveHotBorder

virtual BOOL HaveHotBorder() const;

Rückgabewert

Bemerkungen

CMFCToolBarMenuButton::IsBorder

virtual BOOL IsBorder() const;

Rückgabewert

Bemerkungen

CMFCToolBarMenuButton::IsClickedOnMenu

BOOL IsClickedOnMenu() const;

Rückgabewert

Bemerkungen

CMFCToolBarMenuButton::IsQuickMode

BOOL IsQuickMode();

Rückgabewert

Bemerkungen

CMFCToolBarMenuButton::GetCommands

Ermöglicht schreibgeschützten Zugriff auf die Liste der Befehle im Symbolleistenmenü.

const CObList& GetCommands() const;

Rückgabewert

Ein Konstverweis auf ein CObList Class -Objekt, das eine Auflistung von CMFCToolBarButton Class -Objekten enthält.

Hinweise

Eine Symbolleistenmenüschaltfläche kann ein Untermenü anzeigen. Sie können die Liste der Befehle im Untermenü im Konstruktor oder in CMFCToolBarMenuButton::CreateFromMenu als Handle für ein Menü (HMENU) bereitstellen. Das Menü wird in eine Liste von Objekten konvertiert, die von der CMFCToolBarButton-Klasse abgeleitet und im internen CObList Objekt gespeichert sind. Sie können auf diese Liste zugreifen, indem Sie diese Methode aufrufen.

CMFCToolBarMenuButton::GetImageRect

Ruft das umgebende Rechteck für das Schaltflächenbild ab.

void GetImageRect(CRect& rectImage);

Parameter

rectImage
[out] Ein Verweis auf ein CRect Objekt, das die Koordinaten des umgebenden Rechtecks des Bilds empfängt.

CMFCToolBarMenuButton::GetPaletteRows

Gibt die Anzahl der Zeilen im Dropdownmenü zurück, wenn sich das Menü im Palettenmodus befindet.

int GetPaletteRows() const;

Rückgabewert

Die Anzahl der Zeilen in der Palette.

Hinweise

Wenn die Menüschaltfläche auf den Palettenmodus festgelegt ist, werden Menüelemente in mehreren Spalten mit nur einer begrenzten Anzahl von Zeilen angezeigt. Rufen Sie diese Methode auf, um die Anzahl der Zeilen abzurufen. Sie können den Palettenmodus aktivieren oder deaktivieren und die Anzahl der Zeilen mithilfe von CMFCToolBarMenuButton::SetMenuPaletteMode angeben.

CMFCToolBarMenuButton::GetPopupMenuMenu

Gibt einen Zeiger auf das CMFCPopupMenu Class -Objekt zurück, das das Dropdownmenü der Schaltfläche darstellt.

CMFCPopupMenu* GetPopupMenu() const;

Rückgabewert

Ein Zeiger auf ein CMFCPopupMenu Class-Objekt , das erstellt wurde, als das Framework das Untermenü der Symbolleistenmenüschaltfläche gezeichnet hat; NULL, wenn kein Untermenü angezeigt wird.

Hinweise

Wenn eine Symbolleistenmenüschaltfläche ein Dropdownmenü anzeigt, erstellt die Schaltfläche ein CMFCPopupMenu Class -Objekt, das das Menü darstellt. Rufen Sie diese Methode auf, um einen Zeiger auf das CMFCPopupMenu Objekt abzurufen. Sie sollten den zurückgegebenen Zeiger nicht speichern, da er temporär ist und ungültig wird, wenn der Benutzer das Dropdownmenü schließt.

CMFCToolBarMenuButton::IsDroppedDown

Gibt an, ob das Popupmenü derzeit angezeigt wird.

virtual BOOL IsDroppedDown() const;

Rückgabewert

TRUE, wenn die Symbolleistenmenüschaltfläche das Untermenü anzeigt; andernfalls FALSE.

CMFCToolBarMenuButton::IsEmptyMenuAllowed

Gibt an, ob Menüelemente leere Untermenüs anzeigen.

virtual BOOL IsEmptyMenuAllowed() const;

Rückgabewert

TRUE, wenn das Framework ein Untermenü aus dem aktuell ausgewählten Menüelement öffnet, auch wenn das Untermenü leer ist; andernfalls FALSE.

Hinweise

Das Framework ruft diese Methode auf, wenn ein Benutzer versucht, das Untermenü aus dem aktuell ausgewählten Menüelement zu öffnen. Wenn das Untermenü leer ist und IsEmptyMenuAllowed FALSE zurückgibt, wird das Untermenü nicht geöffnet.

Die Standardimplementierung gibt FALSE zurück. Überschreiben Sie diese Methode, um dieses Verhalten anzupassen.

CMFCToolBarMenuButton::IsExclusive

Gibt an, ob sich die Schaltfläche im exklusiven Modus befindet.

virtual BOOL IsExclusive() const;

Rückgabewert

TRUE, wenn die Schaltfläche im exklusiven Modus funktioniert; andernfalls FALSE.

Hinweise

Wenn ein Benutzer ein Popupmenü für eine Schaltfläche öffnet und dann den Mauszeiger über eine andere Symbolleiste oder Menüschaltfläche bewegt, wird das Popupmenü geschlossen, es sei denn, die Schaltfläche befindet sich im exklusiven Modus.

Die Standardimplementierung gibt immer FALSE zurück. Überschreiben Sie diese Methode in einer abgeleiteten Klasse, wenn Sie den exklusiven Modus aktivieren möchten.

CMFCToolBarMenuButton::IsMenuPaletteMode

Bestimmt, ob sich das Dropdownmenü im Palettenmodus befindet.

BOOL IsMenuPaletteMode() const;

Rückgabewert

TRUE, wenn der Palettenmodus aktiviert ist, andernfalls FALSE.

Hinweise

Wenn die Menüschaltfläche auf den Palettenmodus festgelegt ist, werden Menüelemente in mehreren Spalten mit nur einer begrenzten Anzahl von Zeilen angezeigt. Rufen Sie diese Methode auf, um die Anzahl der Zeilen abzurufen. Sie können den Palettenmodus aktivieren oder deaktivieren, indem Sie CMFCToolBarMenuButton::SetMenuPaletteMode aufrufen.

CMFCToolBarMenuButton::IsTearOffMenu

Gibt an, ob das Dropdownmenü eine Abrissleiste aufweist.

virtual BOOL IsTearOffMenu() const;

Rückgabewert

TRUE, wenn die Symbolleistenmenüschaltfläche eine Reißleiste aufweist; andernfalls FALSE.

Hinweise

Rufen Sie CMFCToolBarMenuButton::SetTearOff auf, um die Abreißleisten-ID zu aktivieren und die Reißleisten-ID festzulegen.

CMFCToolBarMenuButton::m_bAlwaysCallOwnerDraw

Gibt an, ob das Framework beim Zeichnen einer Schaltfläche immer CFrameWndEx::OnDrawMenuImage aufruft.

static BOOL m_bAlwaysCallOwnerDraw;

Hinweise

Wenn diese Membervariable auf TRUE festgelegt ist, ruft die Schaltfläche immer CFrameWndEx::OnDrawMenuImage-Methode auf, um das Bild auf der Schaltfläche anzuzeigen. Wenn m_bAlwaysCallOwnerDraw FALSCH ist, zeichnet die Schaltfläche selbst das Bild, wenn das Bild vordefiniert ist. Andernfalls wird es aufgerufen OnDrawMenuImage.

CMFCToolBarMenuButton::OnAfterCreatePopupMenuMenu

virtual void OnAfterCreatePopupMenu();

Hinweise

CMFCToolBarMenuButton::OnBeforeDrag

virtual BOOL OnBeforeDrag() const;

Rückgabewert

Bemerkungen

CMFCToolBarMenuButton::OnCalculateSize

virtual SIZE OnCalculateSize(
    CDC* pDC,
    const CSize& sizeDefault,
    BOOL bHorz);

Parameter

[in] pDC
[in] sizeDefault
[in] bHorz

Rückgabewert

Bemerkungen

CMFCToolBarMenuButton::OnCancelMode

virtual void OnCancelMode();

Hinweise

CMFCToolBarMenuButton::OnChangeParentWnd

virtual void OnChangeParentWnd(CWnd* pWndParent);

Parameter

[in] pWndParent

Hinweise

CMFCToolBarMenuButton::OnClick

virtual BOOL OnClick(
    CWnd* pWnd,
    BOOL bDelay = TRUE);

Parameter

[in] pWnd
[in] bDelay

Rückgabewert

Bemerkungen

CMFCToolBarMenuButton::OnClickMenuItem

Wird vom Framework aufgerufen, wenn der Benutzer ein Element im Dropdownmenü auswählt.

virtual BOOL OnClickMenuItem();

Rückgabewert

FALSE, wenn das Framework die Standardverarbeitung des Menüelements fortsetzen soll; andernfalls TRUE. Die Standardimplementierung gibt immer FALSE zurück.

Hinweise

Wenn der Benutzer auf ein Menüelement klickt, führt das Framework einen Befehl aus, der diesem Element zugeordnet ist.

Um die Verarbeitung von Menüelementen anzupassen, überschreiben OnClickMenuItem Sie diese in einer von CMFCToolBarMenuButton der Klasse abgeleiteten Klasse. Sie müssen auch CFrameWndEx::OnShowPopupMenu außer Kraft setzen und die Menüschaltflächen ersetzen, die eine spezielle Verarbeitung durch Instanzen der abgeleiteten Klasse erfordern.

CMFCToolBarMenuButton::OnContextHelp

virtual BOOL OnContextHelp(CWnd* pWnd);

Parameter

[in] pWnd

Rückgabewert

Bemerkungen

CMFCToolBarMenuButton::OnDraw

virtual void OnDraw(
    CDC* pDC,
    const CRect& rect,
    CMFCToolBarImages* pImages,
    BOOL bHorz = TRUE,
    BOOL bCustomizeMode = FALSE,
    BOOL bHighlight = FALSE,
    BOOL bDrawBorder = TRUE,
    BOOL bGrayDisabledButtons = TRUE);

Parameter

[in] pDC
[in] rect
[in] pImages
[in] bHorz
[in] bCustomizeMode
[in] bHighlight
[in] bDrawBorder
[in] bGrayDisabledButtons

Hinweise

CMFCToolBarMenuButton::OnDrawOnCustomizeList

virtual int OnDrawOnCustomizeList(
    CDC* pDC,
    const CRect& rect,
    BOOL bSelected);

Parameter

[in] pDC
[in] rect
[in] bSelected

Rückgabewert

Bemerkungen

CMFCToolBarMenuButton::OpenPopupMenuMenu

Wird vom Framework aufgerufen, wenn der Benutzer das Dropdownmenü einer Symbolleistenmenüschaltfläche öffnet.

virtual BOOL OpenPopupMenu(CWnd* pWnd=NULL);

Parameter

pWnd
[in] Gibt das Fenster an, das die Dropdownmenübefehle empfängt. Er kann nur NULL sein, wenn die Symbolleistenmenüschaltfläche über ein übergeordnetes Fenster verfügt.

Rückgabewert

TRUE, wenn ein CMFCPopupMenu Class -Objekt erstellt und erfolgreich geöffnet wurde; andernfalls FALSE.

Hinweise

Diese Funktion wird vom Framework aufgerufen, wenn der Benutzer ein Dropdownmenü über eine Symbolleistenmenüschaltfläche öffnet.

CMFCToolBarMenuButton::ResetImageToDefault

virtual void ResetImageToDefault();

Hinweise

CMFCToolBarMenuButton::SaveBarState

virtual void SaveBarState();

Hinweise

Das Framework ruft diese Methode auf, wenn eine Symbolleistenschaltfläche als Ergebnis eines Drag-and-Drop-Vorgangs erstellt wird. Diese Methode ruft die CMFCPopupMenu::SaveState-Methode des Popupmenüs der obersten Ebene auf, wodurch die übergeordnete Schaltfläche des Popupmenüs das Menü neu erstellt.

CMFCToolBarMenuButton::Serialize

virtual void Serialize(CArchive& ar);

Parameter

[in] ar

Hinweise

CMFCToolBarMenuButton::SetACCData

Legt die Barrierefreiheitsdaten für das Menübandelement fest.

virtual BOOL SetACCData(
    CWnd* pParent,
    CAccessibilityData& data);

Parameter

pParent
Das übergeordnete Fenster für die Menübandelement.

data
Die Barrierefreiheitsdaten für das Menübandelement.

Rückgabewert

Gibt immer TRUE zurück.

Hinweise

Standardmäßig legt diese Methode die Barrierefreiheitsdaten für das Menübandelement fest und gibt immer TRUE zurück. Setzen Sie diese Methode außer Kraft, um die Barrierefreiheitsdaten festzulegen und einen Wert zurückzugeben, der den Erfolg oder einen Fehler angibt.

CMFCToolBarMenuButton::SetMenuOnly

Gibt an, ob die Schaltfläche als Menüschaltfläche oder als geteilte Schaltfläche gezeichnet wird, wenn sie über eine gültige Befehls-ID und ein Untermenü verfügt.

void SetMenuOnly(BOOL bMenuOnly);

Parameter

bMenuOnly
[in] TRUE, um diese Schaltfläche als Menüschaltfläche anzuzeigen, wenn sie sowohl über eine gültige Befehls-ID als auch über ein Untermenü verfügt, FALSE, um diese Schaltfläche als geteilte Schaltfläche anzuzeigen, wenn sie sowohl über eine gültige Befehls-ID als auch über ein Untermenü verfügt.

Hinweise

Wenn eine Symbolleistenmenüschaltfläche sowohl ein Untermenü als auch eine Befehls-ID enthält, wird das Menü als geteilte Schaltfläche mit einer Hauptschaltfläche und einer angefügten Pfeilschaltfläche angezeigt. Wenn Sie diese Methode aufrufen und "bMenuOnly " wahr ist, wird die Schaltfläche stattdessen als einzelne Menüschaltfläche mit einem Pfeil nach unten in der Schaltfläche angezeigt. Wenn der Benutzer in beiden Modus auf den Pfeil klickt, wird das Untermenü geöffnet, und wenn der Benutzer auf den Nicht-Pfeilteil der Schaltfläche in beiden Modus klickt, führt das Framework den Befehl aus.

CMFCToolBarMenuButton::SetMenuPaletteMode

Gibt an, ob sich das Dropdownmenü im Palettenmodus befindet.

void SetMenuPaletteMode(
    BOOL bMenuPaletteMode=TRUE,
    int nPaletteRows=1);

Parameter

bMenuPaletteMode
[in] Gibt an, ob sich das Dropdownmenü im Palettenmodus befindet.

nPaletteRows
[in] Anzahl der Zeilen in der Palette.

Hinweise

Im Palettenmodus werden alle Menüelemente als mehrspaltige Palette angezeigt. Sie geben die Anzahl der Zeilen mithilfe von nPaletteRows an.

CMFCToolBarMenuButton::SetMessageWnd

void SetMessageWnd(CWnd* pWndMessage);

Parameter

[in] pWndMessage

Hinweise

CMFCToolBarMenuButton::SetRadio

Legt die Symbolleistenmenüschaltfläche fest, um ein Optionsfeldformatsymbol anzuzeigen, wenn es aktiviert ist.

virtual void SetRadio();

Hinweise

Wenn die Menüschaltfläche während der Überprüfung gezeichnet wird, ruft sie CMFCVisualManager::OnDrawMenuCheck auf, um ein Häkchensymbol zu zeichnen. Fordert standardmäßig an, OnDrawMenuCheck dass der aktuelle visuelle Manager ein Kontrollkästchen-Stil-Häkchen auf der Menüschaltfläche zeichnet. Nachdem Sie diese Methode aufgerufen haben, zeichnet der aktuelle visuelle Manager stattdessen ein Optionsfeld-Stil-Häkchen auf der Menüschaltfläche. Diese Änderung kann nicht rückgängig gemacht werden.

Wenn Sie diese Methode aufrufen und die Menüschaltfläche zurzeit angezeigt wird, wird sie aktualisiert.

CMFCToolBarMenuButton::SetTearOff

Gibt die ID der Reißleiste für das Dropdownmenü an.

virtual void SetTearOff(UINT uiBarID);

Parameter

uiBarID
[in] Gibt eine neue Abbruchleisten-ID an.

Hinweise

Rufen Sie diese Methode auf, um die ID für die Reißleiste anzugeben, die erstellt wird, wenn der Benutzer die Menüschaltfläche aus einer Menüleiste zieht. Wenn der UiBarID-Parameter 0 ist, kann der Benutzer die Menüschaltfläche nicht abreißen.

Rufen Sie CWinAppEx::EnableTearOffMenus auf, um das Abreißen des Menüfeatures in Ihrer Anwendung zu aktivieren.

Siehe auch

Hierarchiediagramm
Klassen
CMFCToolBarButton-Klasse
CMFCToolBar-Klasse
CMFCPopupMenu-Klasse