CMFCPopupMenu-Klasse
Implementiert die Funktionalität eines Windows-Popupmenüs und erweitert sie durch zusätzliche Funktionen wie abtrennbare Menüs und QuickInfos. Ausführliche Informationen finden Sie im Quellcode des Ordners VC\atlmfc\src\mfc der Visual Studio-Installation.
Syntax
class CMFCPopupMenu : public CMiniFrameWnd
Member
Geschützte Konstruktoren
Name | Beschreibung |
---|---|
CMFCPopupMenu::CMFCPopupMenu | Erstellt ein CMFCPopupMenu -Objekt. |
Öffentliche Methoden
Name | Beschreibung |
---|---|
CMFCPopupMenu::ActivatePopupMenu | |
CMFCPopupMenu::AlwaysShowEmptyToolsEntry | Legt fest, ob ein Popupmenü aktiviert ist, um leere Einträge für benutzerdefinierte Tools anzuzeigen. |
CMFCPopupMenu::AreAllCommandsShown | |
CMFCPopupMenu::CheckArea | Bestimmt die Position eines Punkts relativ zum Popupmenü. |
CMFCPopupMenu::CloseMenu | |
CMFCPopupMenu::Create | Erstellt ein Popupmenü und fügt es an das CMFCPopupMenu Objekt an. |
CMFCPopupMenu::D efaultMouseClickOnClose | |
CMFCPopupMenu::EnableMenuLogo | Initialisiert das Logo für ein Popupmenü. |
CMFCPopupMenu::EnableMenuSound | Aktiviert Menüsound. |
CMFCPopupMenu::EnableResize | |
CMFCPopupMenu::EnableScrolling | |
CMFCPopupMenu::EnableVertResize | |
CMFCPopupMenu::FindSubItemByCommand | |
CMFCPopupMenu::GetActiveMenu | Gibt das derzeit aktive Menü zurück. |
CMFCPopupMenu::GetAnimationSpeed | Gibt die Animationsgeschwindigkeit für Popupmenüs zurück. |
CMFCPopupMenu::GetAnimationType | Gibt den aktuellen Typ der Popupmenüanimation zurück. |
CMFCPopupMenu::GetDropDirection | |
CMFCPopupMenu::GetForceMenuFocus | Gibt an, ob der Fokus auf der Menüleiste zurückgegeben wird, wenn ein Popupmenü angezeigt wird. |
CMFCPopupMenu::GetForceShadow | |
CMFCPopupMenu::GetHMenu | Gibt ein Handle an die ressource des angefügten Menüs zurück. |
CMFCPopupMenu::GetMenuBar | Gibt die CMFCPopupMenuBar zurück, die im Popupmenü eingebettet ist. |
CMFCPopupMenu::GetMenuItem | Gibt einen Zeiger auf das Menüelement am angegebenen Index zurück. |
CMFCPopupMenu::GetMenuItemCount | Gibt die Anzahl der Elemente in einem Popupmenü zurück. |
CMFCPopupMenu::GetMessageWnd | Gibt einen Zeiger auf das Fenster zurück, in dem das Framework die Popupmenünachrichten weitergibt. |
CMFCPopupMenu::GetParentArea | |
CMFCPopupMenu::GetParentButton | Gibt einen Zeiger auf die übergeordnete Symbolleistenschaltfläche zurück. |
CMFCPopupMenu::GetParentPopupMenu | Gibt einen Zeiger auf das übergeordnete Popupmenü zurück. |
CMFCPopupMenu::GetParentRibbonElement | |
CMFCPopupMenu::GetParentToolBar | Gibt einen Zeiger auf die übergeordnete Symbolleiste zurück. |
CMFCPopupMenu::GetQuickCustomizeType | |
CMFCPopupMenu::GetSelItem | Gibt einen Zeiger auf den aktuell ausgewählten Menübefehl zurück. |
CMFCPopupMenu::HasBeenResized | |
CMFCPopupMenu::HideRarelyUsedCommands | Gibt an, ob das Popupmenü selten verwendete Befehle ausblenden kann. |
CMFCPopupMenu::InCommand | |
CMFCPopupMenu::InsertItem | Fügt an der angegebenen Position ein neues Element in das Popupmenü ein. |
CMFCPopupMenu::InsertSeparator | Fügt an der angegebenen Position ein Trennzeichen in das Popupmenü ein. |
CMFCPopupMenu::IsAlwaysClose | |
CMFCPopupMenu::IsAlwaysShowEmptyToolsEntry | |
CMFCPopupMenu::IsCustomizePane | Gibt an, ob das Popupmenü als QuickCustomizePane funktioniert. |
CMFCPopupMenu::IsEscClose | |
CMFCPopupMenu::IsIdle | Gibt an, ob sich derzeit ein Popupmenü im Leerlauf befindet. |
CMFCPopupMenu::IsMenuSound | |
CMFCPopupMenu::IsQuickCustomize | Bestimmt, ob sich die zugeordnete CMFCToolBarMenuButton-Klasse im QuickCustomize-Modus befindet. |
CMFCPopupMenu::IsResizeble | |
CMFCPopupMenu::IsRightAlign | Gibt an, ob das Menü rechtsbündig oder linksbündig ausgerichtet ist. |
CMFCPopupMenu::IsScrollable | |
CMFCPopupMenu::IsSendMenuSelectMsg | Gibt an, ob das Framework den übergeordneten Frame benachrichtigt, wenn der Benutzer im Popupmenü einen Befehl auswählt. |
CMFCPopupMenu::IsShown | Gibt an, ob das Popupmenü zurzeit sichtbar ist. |
CMFCPopupMenu::MoveTo | |
CMFCPopupMenu::OnCmdMsg | (Überschreibt CFrameWnd::OnCmdMsg .) |
CMFCPopupMenu::P ostCommand | |
CMFCPopupMenu::P reTranslateMessage | (Überschreibt CFrameWnd::PreTranslateMessage .) |
CMFCPopupMenu::RecalcLayout | Wird vom Framework aufgerufen, wenn die Standardsteuerelementleisten ein- oder ausgeschaltet werden oder wenn die Größe des Rahmenfensters geändert wird. (Außerkraftsetzungen CFrameWnd::RecalcLayout.) |
CMFCPopupMenu::RemoveAllItems | Löscht alle Elemente aus einem Popupmenü. |
CMFCPopupMenu::RemoveItem | Entfernt das angegebene Element aus einem Popupmenü. |
CMFCPopupMenu::SaveState | |
CMFCPopupMenu::SetAnimationSpeed | Legt die Animationsgeschwindigkeit für Popupmenüs fest. |
CMFCPopupMenu::SetAnimationType | Legt den Animationstyp für das Popupmenü fest. |
CMFCPopupMenu::SetAutoDestroy | |
CMFCPopupMenu::SetDefaultItem | Legt den Standardbefehl für das Popupmenü fest. |
CMFCPopupMenu::SetForceMenuFocus | Erzwingt, dass der Eingabefokus zur Menüleiste zurückkehrt, wenn ein Popupmenü angezeigt wird. |
CMFCPopupMenu::SetForceShadow | Erzwingt das Framework, Menüschatten zu zeichnen, wenn Popupmenüs außerhalb des Hauptrahmens angezeigt werden. |
CMFCPopupMenu::SetMaxWidth | Legen Sie die maximale Breite für das Popupmenü fest. |
CMFCPopupMenu::SetMessageWnd | |
CMFCPopupMenu::SetParentRibbonElement | |
CMFCPopupMenu::SetQuickCustomizeType | |
CMFCPopupMenu::SetQuickMode | |
CMFCPopupMenu::SetRightAlign | Legt die Menüausrichtung für Popupmenüs fest. |
CMFCPopupMenu::SetSendMenuSelectMsg | Legt ein Flag fest, das steuert, ob das Popupmenü den übergeordneten Frame benachrichtigt, wenn der Benutzer einen Befehl auswählt. |
CMFCPopupMenu::ShowAllCommands | Erzwingt das Popupmenü, um alle Befehle anzuzeigen. |
CMFCPopupMenu::TriggerResize | |
CMFCPopupMenu::UpdateAllShadows | Aktualisiert die Schatten für alle geöffneten Popupmenüs. |
CMFCPopupMenu::UpdateShadow | Aktualisiert den Schatten für das Popupmenü. |
Geschützte Methoden
Name | Beschreibung |
---|---|
CMFCPopupMenu::CreateTearOffBar | |
CMFCPopupMenu::OnChangeHot | |
CMFCPopupMenu::OnChooseItem |
Hinweise
Normalerweise erstellt MFC Popupmenüs automatisch. Wenn Sie ein CMFCPopupMenu
Objekt manuell erstellen möchten, weisen Sie ein Objekt im Heap zu, und rufen Sie dann CMFCPopupMenu::Create auf.
Beispiel
Im folgenden Beispiel wird das Konfigurieren eines Popupmenüobjekts veranschaulicht. Das Beispiel zeigt, wie Sie das Logo und den Sound des Popupmenüs festlegen, die Animationsgeschwindigkeit und den Typ festlegen, Menüschatten zeichnen, wenn das Popupmenü außerhalb des Hauptrahmens angezeigt wird, die maximale Breite festlegen und die rechte Menüausrichtung des Popupmenüs festlegen. Dieser Codeausschnitt ist Teil des Beispiels "Benutzerdefinierte Seiten".
// 30 is the size of the logo in pixels.
pPopupMenu->EnableMenuLogo(30);
pPopupMenu->EnableMenuSound();
// 500 is the animation speed in milliseconds.
pPopupMenu->SetAnimationSpeed(500);
pPopupMenu->SetAnimationType(CMFCPopupMenu::SLIDE);
pPopupMenu->SetForceShadow(true);
// 200 is the maximum width of the pop-up menu in pixels.
pPopupMenu->SetMaxWidth(200);
pPopupMenu->SetRightAlign();
pPopupMenu->InsertSeparator();
Vererbungshierarchie
CMFCPopupMenu
Anforderungen
Kopfzeile: afxpopupmenu.h
CMFCPopupMenu::ActivatePopupMenu
static BOOL __stdcall ActivatePopupMenu(
CFrameWnd* pTopFrame,
CMFCPopupMenu* pPopupMenu);
Parameter
[in] pTopFrame
[in] pPopupMenu
Rückgabewert
Bemerkungen
CMFCPopupMenu::AlwaysShowEmptyToolsEntry
Legt fest, ob ein Popupmenü aktiviert ist, um leere Einträge für benutzerdefinierte Tools anzuzeigen.
static void AlwaysShowEmptyToolsEntry(BOOL bShow = TRUE);
Parameter
bShow
[in] TRUE, wenn das Popupmenü leere Einträge anzeigen kann; Andernfalls FALSE.
CMFCPopupMenu::AreAllCommandsShown
BOOL AreAllCommandsShown() const;
Rückgabewert
Bemerkungen
CMFCPopupMenu::CheckArea
Bestimmt die Position eines Punkts relativ zum Popupmenü.
MENUAREA_TYPE CheckArea(const CPoint& ptScreen) const;
Parameter
ptScreen
[in] Ein Punkt in Bildschirmkoordinaten.
Rückgabewert
Ein MENUAREA_TYPE-Parameter, der angibt, wo sich der Punkt relativ zum Popupmenü befindet.
Hinweise
Ein MENUAREA_TYPE-Parameter kann einen der folgenden Werte aufweisen.
OUTSIDE - ptScreen befindet sich außerhalb des Popupmenüs.
LOGO - ptScreen befindet sich über einem Logobereich.
TEAROFF_CAPTION - ptScreen befindet sich über der Beschriftung zum Abreißen.
SHADOW_BOTTOM - ptScreen befindet sich über dem unteren Schatten des Popupmenüs.
SHADOW_RIGHT - ptScreen befindet sich über dem rechten Schatten des Popupmenüs.
MENU - ptScreen befindet sich über einem Befehl.
CMFCPopupMenu::CloseMenu
void CloseMenu(BOOL bSetFocusToBar = FALSE);
Parameter
[in] bSetFocusToBar
Hinweise
CMFCPopupMenu::CMFCPopupMenu
Erstellt ein CMFCPopupMenu -Objekt.
CMFCPopupMenu(
CMFCToolBarsMenuPropertyPage* pCustPage,
LPCTSTR lpszTitle);
Parameter
pCustPage
[in] Ein Zeiger auf eine Anpassungsseite.
lpszTitle
[in] Eine Zeichenfolge, die die Menübeschriftung enthält.
Hinweise
Diese Methode weist die Ressourcen für ein CMFCPopupMenu
. Rufen Sie ZUM Erstellen des Popupmenüelements CMFCPopupMenu::Create auf.
CMFCPopupMenu::Create
Erstellt ein Popupmenü und fügt es an ein CMFCPopupMenu -Objekt an.
virtual BOOL Create(
CWnd* pWndParent,
int x,
int y,
HMENU hMenu,
BOOL bLocked = FALSE,
BOOL bOwnMessage = FALSE);
Parameter
pWndParent
[in] Das übergeordnete Fenster für das CMFCPopupMenu
.
x
[in] Die horizontale Bildschirmkoordinate für die Position des Popupmenüs
y
[in] Die vertikale Bildschirmkoordinate für die Position des Popupmenüs.
hMenu
[in] Ein Handle zu einer Menüressource.
gesperrt
[in] Ein boolescher Parameter, der angibt, ob das Menü anpassbar ist. FALSE gibt an, dass das Popupmenü anpassbar ist.
bOwnMessage
[in] Ein boolescher Parameter, der angibt, wie das Framework die Menünachrichten weitergibt. Weitere Details finden Sie im Abschnitt „Anmerkungen“.
Rückgabewert
TRUE, wenn die Methode erfolgreich ist; andernfalls FALSE.
Hinweise
Wenn bOwnMessage TRUE ist, leitet das Framework alle Menünachrichten an pWndParent weiter. pWndParent darf nicht NULL sein, wenn bOwnMessage WAHR ist. Wenn bOwnMessage FALSCH ist, leitet das Framework die Menünachrichten an das übergeordnete Popupmenü weiter.
Beispiel
Im folgenden Beispiel wird die Verwendung der Create
Methode der CMFCPopuMenu
Klasse veranschaulicht. Dieser Codeausschnitt ist Teil des Beispiels "Benutzerdefinierte Seiten".
CMFCPopupMenu *pPopupMenu = new CMFCPopupMenu;
// CPoint point
// CMenu* pPopup
// The this pointer points to CMainFrame class which extends the CFrameWnd class.
pPopupMenu->Create(this, point.x, point.y, pPopup->Detach());
CMFCPopupMenu::CreateTearOffBar
virtual CPane* CreateTearOffBar(
CFrameWnd* pWndMain,
UINT uiID,
LPCTSTR lpszName);
Parameter
[in] pWndMain
[in] uiID
[in] lpszName
Rückgabewert
Bemerkungen
CMFCPopupMenu::D efaultMouseClickOnClose
virtual BOOL DefaultMouseClickOnClose() const;
Rückgabewert
Bemerkungen
CMFCPopupMenu::EnableMenuLogo
Initialisiert das Logo für ein Popupmenü.
void EnableMenuLogo(
int iLogoSize,
LOGO_LOCATION nLogoLocation = MENU_LOGO_LEFT);
Parameter
iLogoSize
[in] Die Größe des Logos in Pixeln.
nLogoLocation
[in] Ein aufgezählter Datentyp, der die Position des Logos angibt.
Hinweise
Um das Logo anzuzeigen, implementieren Sie die Methode CFrameWndEx::OnDrawMenuLogo im Hauptrahmenfenster.
Die möglichen Werte für nLogoLocation sind MENU_LOGO_LEFT, MENU_LOGO_RIGHT, MENU_LOGO_TOP und MENU_LOGO_BOTTOM.
CMFCPopupMenu::EnableMenuSound
Aktiviert Menüsound.
static void EnableMenuSound(BOOL bEnable = TRUE);
Parameter
bEnable
[in] TRUE, um Sound zu aktivieren, andernfalls FALSE.
Hinweise
Wenn Sie Sound aktivieren, ruft das Framework die PlaySound-Methode auf, wenn ein Benutzer ein Popupmenü öffnet oder einen Menübefehl auswählt. Dieses Feature ist standardmäßig aktiviert.
CMFCPopupMenu::EnableResize
void EnableResize(CSize sizeMinResize);
Parameter
[in] sizeMinResize
Hinweise
CMFCPopupMenu::EnableScrolling
void EnableScrolling(BOOL = TRUE);
Parameter
[in] BOOL
Hinweise
CMFCPopupMenu::EnableVertResize
void EnableVertResize(int nMinResize);
Parameter
[in] nMinResize
Hinweise
CMFCPopupMenu::FindSubItemByCommand
CMFCToolBarMenuButton* FindSubItemByCommand(UINT uiCmd) const;
Parameter
[in] uiCmd
Rückgabewert
Bemerkungen
CMFCPopupMenu::GetActiveMenu
Gibt das derzeit aktive Menü zurück.
static CMFCPopupMenu* GetActiveMenu();
Rückgabewert
Ein Zeiger auf das aktive Popupmenü oder NULL, wenn derzeit kein Popupmenü aktiv ist.
Hinweise
Jede Anwendung kann höchstens über ein aktives Popupmenü verfügen.
CMFCPopupMenu::GetAnimationSpeed
Gibt die Animationsgeschwindigkeit für Popupmenüs zurück.
static UINT GetAnimationSpeed();
Rückgabewert
Eine ganze Zahl, die die Zeit in Millisekunden angibt, die eine Popupmenüanimation benötigt, um den Vorgang abzuschließen.
Hinweise
Die Animationsgeschwindigkeit ist ein globaler Wert. Verwenden Sie CMFCPopupMenu::SetAnimationSpeed , um die Animationsgeschwindigkeit für Popupmenüs zu ändern.
CMFCPopupMenu::GetAnimationType
Gibt den aktuellen Typ der Popupanimation zurück.
static CMFCPopupMenu::ANIMATION_TYPE GetAnimationType(BOOL bNoSystem = FALSE);
Parameter
bNoSystem
[in] Ein boolescher Parameter, der angibt, ob diese Methode den globalen Wert überprüft. FALSE, wenn diese Methode den Animationsstil für diese Instanz der CMFCPopupMenu-Klasse zurückgeben soll.
Rückgabewert
Ein aufgezählter Wert, der den Animationstyp beschreibt.
Hinweise
Der Animationsstil für Popupmenüs ist global für Ihre Anwendung. Verwenden Sie CMFCPopupMenu::SetAnimationType , um den Animationsstil festzulegen.
In der folgenden Tabelle sind die möglichen Animationstypen aufgeführt.
Wert | Beschreibung |
---|---|
NO_ANIMATION | Das Popupmenü ist nicht animiert und wird sofort angezeigt. |
ENTFALTEN | Das Framework zeigt das Popupmenü von der oberen linken Ecke zur unteren rechten Ecke an. |
GLEITEN | Das Popupmenü wechselt von oben nach unten. |
VERBLASSEN | Das Popupmenü erscheint zunächst transparent und wird schrittweise einfarbig. |
CMFCPopupMenu::GetDropDirection
DROP_DIRECTION GetDropDirection() const;
Rückgabewert
Bemerkungen
CMFCPopupMenu::GetForceMenuFocus
Gibt an, ob der Fokus auf der Menüleiste zurückgegeben wird, wenn ein Popupmenü angezeigt wird.
static BOOL GetForceMenuFocus();
Rückgabewert
TRUE, wenn der Eingabefokus auf die Menüleiste zurückgegeben wird, wenn ein Popupmenü angezeigt wird; FALSE, wenn das Popupmenü den Fokus behält.
Hinweise
Standardmäßig gibt Ihre Anwendung den Fokus nicht auf die Menüleiste zurück. Um diese Einstellung zu ändern, verwenden Sie CMFCPopupMenu::SetForceMenuFocus.
CMFCPopupMenu::GetForceShadow
static BOOL __stdcall GetForceShadow();
Rückgabewert
Bemerkungen
CMFCPopupMenu::GetHMenu
Gibt ein Handle an die ressource des angefügten Menüs zurück.
HMENU GetHMenu();
CMFCPopupMenu::GetMenuBar
Gibt die CMFCPopupMenuBar zurück, die im Popupmenü eingebettet ist.
virtual CMFCPopupMenuBar* GetMenuBar();
Rückgabewert
Ein Zeiger auf das eingebettete CMFCPopupMenuBar
Element.
Hinweise
Das Popupmenü verfügt über ein eingebettetes CMFCPopupMenuBar
Objekt. Sie müssen diese Methode in einer abgeleiteten Klasse überschreiben, wenn Sie eine andere eingebettete Klasse verwenden.
CMFCPopupMenu::GetMenuItem
Gibt einen Zeiger auf das Menüelement am angegebenen Index zurück.
CMFCToolBarMenuButton* GetMenuItem(int iIndex) const;
Parameter
iIndex
[in] Der nullbasierte Index eines Menüelements.
Rückgabewert
Ein Zeiger auf ein Menüelement. NULL, wenn der Index ungültig ist.
Hinweise
Menüelemente werden durch die CMFCToolBarMenuButton-Klasse dargestellt. Wenn Sie diese Methode aufrufen, wird ein Zeiger auf die entsprechende CMFCToolBarMenuButton
Methode zurückgegeben.
CMFCPopupMenu::GetMenuItemCount
Gibt die Anzahl der Elemente in einem Popupmenü zurück.
int GetMenuItemCount() const;
Rückgabewert
Die Anzahl der Elemente im Menü.
CMFCPopupMenu::GetMessageWnd
Gibt einen Zeiger auf das Fenster zurück, in dem das Framework die Popupmenünachrichten weitergibt.
CWnd* GetMessageWnd() const;
Rückgabewert
Ein Zeiger auf das Fenster, das die Popupmenünachrichten empfängt; NULL, wenn kein Fenster vorhanden ist.
Hinweise
Wenn Sie die Methode CMFCPopupMenu::Create zum Erstellen eines Popupmenüs verwenden, geben Sie an, welches Fenster die Menümeldungen empfängt.
CMFCPopupMenu::GetParentArea
virtual CWnd* GetParentArea(CRect& rectParentBtn);
Parameter
[in] rectParentBtn
Rückgabewert
Bemerkungen
CMFCPopupMenu::GetParentButton
Gibt einen Zeiger auf die übergeordnete Symbolleistenschaltfläche zurück.
CMFCToolBarMenuButton* GetParentButton() const;
Rückgabewert
Ein Zeiger auf die übergeordnete Symbolleistenschaltfläche. NULL, wenn das Popupmenü keine übergeordnete Symbolleistenschaltfläche enthält.
Hinweise
Eine CMFCPopupMenu
kann einer Schaltfläche im Menü zugeordnet werden. In diesem Szenario wird das Popupmenü angezeigt, wenn ein Benutzer die übergeordnete Symbolleistenschaltfläche auswählt.
Wenn das Popupmenü ein Kontextmenü ist, enthält es keine übergeordnete Symbolleistenschaltfläche.
CMFCPopupMenu::GetParentPopupMenu
Gibt einen Zeiger auf das übergeordnete Popupmenü zurück.
CMFCPopupMenu* GetParentPopupMenu() const;
Rückgabewert
Ein Zeiger auf das übergeordnete CMFCPopupMenu
Objekt; NULL, wenn kein übergeordnetes Popupmenü vorhanden ist.
Hinweise
Ein Popupmenü verfügt nur über ein übergeordnetes CMFCPopupMenu
Objekt, wenn es sich um ein Untermenü handelt.
CMFCPopupMenu::GetParentRibbonElement
CMFCRibbonBaseElement* GetParentRibbonElement() const;
Rückgabewert
Bemerkungen
CMFCPopupMenu::GetParentToolBar
Gibt einen Zeiger auf die übergeordnete Symbolleiste zurück.
CMFCToolBar* GetParentToolBar() const;
Rückgabewert
Ein Zeiger auf die übergeordnete Symbolleiste. NULL, wenn das Popupmenü keine übergeordnete Symbolleiste aufweist.
Hinweise
Wenn es sich um CMFCPopupMenu
ein Kontextmenü handelt, verfügt es über keine übergeordnete Symbolleiste.
CMFCPopupMenu::GetQuickCustomizeType
QUICK_CUSTOMIZE_TYPE GetQuickCustomizeType() const;
Rückgabewert
Bemerkungen
CMFCPopupMenu::GetSelItem
Gibt einen Zeiger auf den aktuell ausgewählten Menübefehl zurück.
CMFCToolBarMenuButton* GetSelItem();
Rückgabewert
Ein Zeiger auf den aktuell ausgewählten Menübefehl; NULL, wenn kein Element ausgewählt ist.
Hinweise
Die Menübefehle in einem Popupmenü werden durch die CMFCToolBarMenuButton-Klasse oder eine von der Klasse abgeleitete CMFCToolBarMenuButton
Klasse dargestellt.
CMFCPopupMenu::HasBeenResized
BOOL HasBeenResized() const;
Rückgabewert
Bemerkungen
CMFCPopupMenu::HideRarelyUsedCommands
Gibt an, ob das Popupmenü selten verwendete Befehle ausblenden kann.
BOOL HideRarelyUsedCommands() const;
Rückgabewert
TRUE, wenn das Popupmenü die selten verwendeten Befehle ausblenden kann; andernfalls FALSE.
Hinweise
Diese Methode gibt nur an, ob ein Popupmenü selten verwendete Befehle ausblenden kann, nicht, wenn diese Konfiguration aktiviert ist. Ein Popupmenü kann selten verwendete Befehle ausblenden, wenn es über eine übergeordnete Schaltfläche verfügt und das übergeordnete Fenster von der CMFCMenuBar-Klasse abgeleitet wird. Verwenden Sie CMFCMenuBar::SetRecentlyUsedMenus , um dieses Feature und CMFCMenuBar::IsRecentlyUsedMenus zu aktivieren, um festzustellen, ob dieses Feature derzeit aktiviert ist. Sie müssen beide Methoden für das übergeordnete Fenster aufrufen.
CMFCPopupMenu::InCommand
virtual BOOL InCommand();
Rückgabewert
Bemerkungen
CMFCPopupMenu::InsertItem
Fügt an der angegebenen Position ein neues Element in das Popupmenü ein.
int InsertItem(
const CMFCToolBarMenuButton& button,
int iInsertA = -1);
Parameter
Schaltfläche
[in] Ein Verweis auf das hinzuzufügende Menüelement.
iInsertAt
[in] Der nullbasierte Index für das neue Element. Wenn iInsertAt -1 ist, wird das Element am Ende des Menüs hinzugefügt.
Rückgabewert
Der nullbasierte Index der Position, an der das Element eingefügt wurde. -1, wenn die Methode fehlschlägt.
Hinweise
Diese Methode schlägt fehl, wenn Sie einen ungültigen Wert für iInsertAt angeben, z. B. eine ganze Zahl, die größer ist als die Anzahl der Elemente, die sich derzeit im Popupmenü befindet.
CMFCPopupMenu::InsertSeparator
Fügt an der angegebenen Position ein Trennzeichen in das Popupmenü ein.
int InsertSeparator(int iInsertAt = -1);
Parameter
iInsertAt
[in] Der nullbasierte Index der Position, an der diese Methode das Trennzeichen einfügt.
Rückgabewert
Der nullbasierte Index der Position, an der das Trennzeichen eingefügt wurde. -1, wenn diese Methode fehlschlägt.
Hinweise
Ein Wert von -1 für iInsertAt bedeutet, dass diese Methode das Trennzeichen am Ende des Popupmenüs hinzufüge.
Diese Methode schlägt fehl, wenn iInsertAt ein ungültiger Wert ist.
CMFCPopupMenu::IsAlwaysClose
virtual BOOL IsAlwaysClose() const;
Rückgabewert
Bemerkungen
CMFCPopupMenu::IsAlwaysShowEmptyToolsEntry
static BOOL __stdcall IsAlwaysShowEmptyToolsEntry();
Rückgabewert
Bemerkungen
CMFCPopupMenu::IsCustomizePane
Gibt an, ob das Popupmenü als QuickCustomizePane funktioniert.
BOOL IsCustomizePane();
Rückgabewert
TRUE, wenn das Popup ein QuckCustomizePane ist; andernfalls FALSE.
Hinweise
Verwenden Sie QuickCustomizePane, um dem Benutzer die direkte Anpassung des Popupmenüs zu ermöglichen. Der QuickCustomizePane ist ein CMFCPopupMenu
Element, das angezeigt wird, wenn der Benutzer auf eine Symbolleistenschaltfläche klickt, um ihn direkt zu bearbeiten.
Ihre Anwendung sollte diese Methode während cmDIFrameWndEx ::OnShowCustomizePane aufrufen.
CMFCPopupMenu::IsEscClose
BOOL IsEscClose();
Rückgabewert
Bemerkungen
CMFCPopupMenu::IsIdle
Gibt an, ob sich derzeit ein Popupmenü im Leerlauf befindet.
virtual BOOL IsIdle() const;
Rückgabewert
TRUE, wenn sich das Popupmenü im Leerlaufmodus befindet; andernfalls FALSE.
Hinweise
Standardmäßig befindet sich ein Popupmenü im Leerlaufmodus, wenn die Anzeigeanimation abgeschlossen ist und der Benutzer nicht im Popupmenü scrollt.
CMFCPopupMenu::IsMenuSound
static UINT __stdcall IsMenuSound();
Rückgabewert
Bemerkungen
CMFCPopupMenu::IsQuickCustomize
Bestimmt, ob sich die zugeordnete CMFCToolBarMenuButton-Klasse im QuickCustomize-Modus befindet.
BOOL IsQuickCustomize();
Rückgabewert
TRUE, wenn sich die zugeordnete Menüschaltfläche im QuickCustomize-Modus befindet; andernfalls FALSE. Diese Methode gibt auch FALSE zurück, wenn das Popupmenü keinem CMFCToolBarMenuButton
zugeordnet ist.
Hinweise
Im QuickCustomize-Modus wählt der Benutzer eine Schaltfläche auf einer Symbolleiste aus, um die Schaltfläche direkt anzupassen.
CMFCPopupMenu::IsResizeble
BOOL IsResizeble() const;
Rückgabewert
Bemerkungen
CMFCPopupMenu::IsRightAlign
Gibt an, ob das Menü rechtsbündig oder linksbündig ausgerichtet ist.
BOOL IsRightAlign() const;
Rückgabewert
TRUE, wenn das Menü rechtsbündig ausgerichtet ist; FALSE, wenn das Menü linksbündig ausgerichtet ist.
Hinweise
Sie können CMFCPopupMenu::SetRightAlign verwenden, um die Menüausrichtung festzulegen. Popupmenüs verwenden standardmäßig linksbündig.
Die Menüausrichtung ist keine globale Einstellung und kann zwischen Popupmenüs variieren.
CMFCPopupMenu::IsScrollable
BOOL IsScrollable() const;
Rückgabewert
Bemerkungen
CMFCPopupMenu::IsSendMenuSelectMsg
Gibt an, ob das Framework den übergeordneten Frame benachrichtigt, wenn der Benutzer im Popupmenü einen Befehl auswählt.
static BOOL IsSendMenuSelectMsg();
Rückgabewert
TRUE, wenn das Framework den übergeordneten Frame benachrichtigt; andernfalls FALSE.
Hinweise
Das Framework benachrichtigt den übergeordneten Frame, indem er die WM_MENUSELECT Nachricht sendet, wenn ein verwendeter Befehl einen Menübefehl auswählt.
CMFCPopupMenu::IsShown
Gibt an, ob das Popupmenü zurzeit sichtbar ist.
BOOL IsShown() const;
Rückgabewert
TRUE, wenn ein Popupmenü sichtbar ist; andernfalls FALSE.
CMFCPopupMenu::MoveTo
void MoveTo(const CPoint& pt);
Parameter
[in] Pt
Hinweise
CMFCPopupMenu::OnChangeHot
virtual void OnChangeHot(int nHot);
Parameter
[in] nHot
Hinweise
CMFCPopupMenu::OnChooseItem
virtual void OnChooseItem(UINT uidCmdID);
Parameter
[in] uidCmdID
Hinweise
CMFCPopupMenu::OnCmdMsg
virtual BOOL OnCmdMsg(
UINT nID,
int nCode,
void* pExtra,
AFX_CMDHANDLERINFO* pHandlerInfo);
Parameter
[in] nID
[in] nCode
[in] pExtra
[in] pHandlerInfo
Rückgabewert
Bemerkungen
CMFCPopupMenu::P ostCommand
BOOL PostCommand(UINT uiCommandID);
Parameter
[in] uiCommandID
Rückgabewert
Bemerkungen
CMFCPopupMenu::P reTranslateMessage
virtual BOOL PreTranslateMessage(MSG* pMsg);
Parameter
[in] pMsg
Rückgabewert
Bemerkungen
CMFCPopupMenu::RecalcLayout
virtual void RecalcLayout(BOOL bNotify = TRUE);
Parameter
[in] bNotify
Hinweise
CMFCPopupMenu::RemoveAllItems
Löscht alle Elemente aus einem Popupmenü.
void RemoveAllItems();
CMFCPopupMenu::RemoveItem
Entfernt das angegebene Element aus dem Popupmenü.
BOOL RemoveItem(int iIndex);
Parameter
iIndex
[in] Der nullbasierte Index des zu löschenden Elements.
Rückgabewert
TRUE, wenn die Methode erfolgreich ist; andernfalls FALSE.
Hinweise
Diese Methode ordnet automatisch alle Trennzeichen an, die von der Entfernung eines Elements betroffen sind. Weitere Informationen dazu, wie das Framework Trennzeichen neu anordnet, finden Sie unter CMFCToolBar::RemoveButton.
CMFCPopupMenu::SaveState
virtual void SaveState();
Hinweise
CMFCPopupMenu::SetAnimationSpeed
Legt die Animationsgeschwindigkeit für Popupmenüs fest.
static void SetAnimationSpeed(UINT nElapse);
Parameter
nElapse
[in] Die neue Animationsgeschwindigkeit in Millisekunden.
Hinweise
Die Animationsgeschwindigkeit ist ein globaler Wert und wirkt sich auf alle Popupmenüs in der Anwendung aus. Dieser Wert gibt an, wie lange es dauert, bis die Animation für ein Popupmenü abgeschlossen ist.
Dieser Parameter ist standardmäßig auf 30 Millisekunden festgelegt. Der Bereich gültiger Werte für "nElapse " liegt zwischen 0 und 200.
CMFCPopupMenu::SetAnimationType
Legt den Animationstyp für dieses Popupmenü fest.
static void SetAnimationType(CMFCPopupMenu::ANIMATION_TYPE type);
Parameter
type
[in] Ein aufgezählter Datentyp, der den Animationstyp angibt.
Hinweise
Eine Liste gültiger Werte für den Typ finden Sie unter CMFCPopupMenu::GetAnimationType.
CMFCPopupMenu::SetAutoDestroy
void SetAutoDestroy(BOOL bAutoDestroy = TRUE);
Parameter
[in] bAutoDestroy
Hinweise
CMFCPopupMenu::SetDefaultItem
Legt den Standardbefehl für das Popupmenü fest.
void SetDefaultItem(UINT uiCmd);
Parameter
uiCmd
[in] Die Menübefehls-ID des neuen Standardbefehls.
Hinweise
Der Standardbefehl im Popupmenü ist der Befehl, der ausgewählt wird, wenn das Popupmenü angezeigt wird.
CMFCPopupMenu::SetForceMenuFocus
Erzwingt, dass der Eingabefokus zur Menüleiste zurückkehrt, wenn ein Popupmenü angezeigt wird.
static void SetForceMenuFocus(BOOL bValue);
Parameter
bValue
[in] TRUE, wenn das Framework den Eingabefokus auf die Menüleiste erzwingen soll, wenn ein Popupmenü angezeigt wird. FALSE, wenn das Popupmenü den Fokus behalten soll.
Hinweise
Diese Methode legt ein Flag fest, das für alle Popupmenüs in der Anwendung global ist. Dieses Feature ist standardmäßig nicht aktiviert.
CMFCPopupMenu::SetForceShadow
Erzwingt das Framework, Menüschatten zu zeichnen, wenn Popupmenüs außerhalb des Hauptrahmens angezeigt werden.
static void SetForceShadow(BOOL bValue);
Parameter
bValue
[in] TRUE, wenn das Framework Menüschatten zeichnen soll, andernfalls FALSE.
Hinweise
Wenn Sie diese Methode aufrufen, wird ein globales Flag in Ihrer Anwendung festgelegt. Dieses Kennzeichen wirkt sich auf alle Popupmenüs in Ihrer Anwendung aus.
CMFCPopupMenu::SetMaxWidth
Legen Sie die maximale Breite für das Popupmenü fest.
void SetMaxWidth(int iMaxWidth);
Parameter
iMaxWidth
[in] Die maximale Breite für das Popupmenü in Pixeln.
Hinweise
Wenn der text, der einem Menübefehl zugeordnet ist, nicht in die maximale Breite passt, wird er abgeschnitten, und der Teil, der nicht passt, wird durch drei Punkte ersetzt.
CMFCPopupMenu::SetMessageWnd
void SetMessageWnd(CWnd* pMsgWnd);
Parameter
[in] pMsgWnd
Hinweise
CMFCPopupMenu::SetParentRibbonElement
void SetParentRibbonElement(CMFCRibbonBaseElement* pElem);
Parameter
[in] pElem
Hinweise
CMFCPopupMenu::SetQuickCustomizeType
void SetQuickCustomizeType(QUICK_CUSTOMIZE_TYPE Type);
Parameter
[in] Art
Hinweise
CMFCPopupMenu::SetQuickMode
void SetQuickMode();
Hinweise
CMFCPopupMenu::SetRightAlign
Legt die Menüausrichtung für Popupmenüs fest.
void SetRightAlign(BOOL bRightAlign = TRUE);
Parameter
bRightAlign
[in] Ein Boolescher Wert, der die Menüausrichtung angibt. TRUE gibt die rechte Ausrichtung an, FALSCH gibt die linke Ausrichtung an.
Hinweise
Standardmäßig sind alle Popupmenüs linksbündig ausgerichtet.
CMFCPopupMenu::SetSendMenuSelectMsg
Legt ein Flag fest, das steuert, ob das Popupmenü den übergeordneten Frame benachrichtigt, wenn der Benutzer einen Befehl auswählt.
static void SetSendMenuSelectMsg(BOOL bSet = TRUE);
Parameter
bSet
[in] TRUE, wenn das Popupmenü den übergeordneten Frame benachrichtigt, andernfalls FALSE.
Hinweise
Dies ist eine globale Option für alle Popupmenüs in einer Anwendung. Wenn sie aktiviert ist, sendet das Popupmenü eine WM_MENUSELECT Nachricht an den übergeordneten Frame, wenn der Benutzer einen Befehl auswählt.
CMFCPopupMenu::ShowAllCommands
Erzwingt das Popupmenü, um alle Befehle anzuzeigen.
void ShowAllCommands();
Hinweise
Dies ist keine globale Einstellung und wirkt sich nur auf das aktuelle Popupmenü aus.
CMFCPopupMenu::TriggerResize
void TriggerResize();
Hinweise
CMFCPopupMenu::UpdateAllShadows
Aktualisiert die Schatten für alle geöffneten Popupmenüs.
static void UpdateAllShadows(LPRECT lprectScreen = NULL);
Parameter
lprectScreen
[in] Ein Rechteck, das den zu aktualisierenden Bereich in Bildschirmkoordinaten angibt.
Hinweise
Diese Methode ist nützlich, wenn Popupmenüs über animierte Steuerelemente oder andere Fenster mit dynamischem Inhalt angezeigt werden.
CMFCPopupMenu::UpdateShadow
Aktualisiert den Schatten für das Popupmenü.
void UpdateShadow(LPRECT lprectScreen = NULL);
Parameter
lprectScreen
[in] Ein Rechteck in Bildschirmkoordinaten, das die Grenzen des zu aktualisierenden Bereichs angibt.
Hinweise
Rufen Sie diese Methode auf, wenn ein Popupmenü mit einem Schatten ein animiertes Bild überlappt.