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::CMFCToolbarMenuButton
zugeordnet 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
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