CMenu::TrackPopupMenu
Zeigt ein unverankertes Popupmenü an der angegebenen Position an und verfolgt die Auswahl von Elementen im Popupmenü.
BOOL TrackPopupMenu(
UINT nFlags,
int x,
int y,
CWnd* pWnd,
LPCRECT lpRect = 0
);
Parameter
nFlags
Gibt BildschirmPosition und MausPosition Flags an.Siehe TrackPopupMenu für eine Liste der verfügbaren Flags.x
Gibt die Position in Bildschirmkoordinaten des Popupmenüs an.Je nach Wert des Parameters nFlags, kann das Menü linksbündig, rechtsbündig ausgerichtet sein, oder zentriert relativ zu dieser Position.y
Gibt die vertikale Position in Bildschirmkoordinaten am Anfang des Menüs auf dem Bildschirm an.pWnd
Identifiziert das Fenster, das das Popupmenü besitzt.Dieser Parameter kann nicht NULL sein, wenn das TPM_NONOTIFY-Flag angegeben ist.Dieses Fenster empfängt alle WM_COMMAND Meldungen im Menü.In Windows-Versionen 3,1 und höher, empfängt das Fenster nicht WM_COMMAND Meldungen, bis TrackPopupMenu zurückgibt.In Windows 3.0 empfängt das Fenster WM_COMMAND Meldungen, bevor TrackPopupMenu zurückgibt.lpRect
Sie wird ignoriert.
Rückgabewert
Diese Methode gibt das Ergebnis des Aufrufens von TrackPopupMenu in Windows SDK zurück.
Hinweise
Ein unverankertes Popupmenü kann überall auf dem Bildschirm angezeigt.
Beispiel
// The code fragment shows how to get the File menu from the
// application window and displays it as a floating popup menu
// when the right mouse button is clicked in view.
// CMdiView is a CView-derived class.
void CMdiView::OnRButtonDown(UINT nFlags, CPoint point)
{
CView::OnRButtonDown(nFlags, point);
CMenu* menu_bar = AfxGetMainWnd()->GetMenu();
CMenu* file_menu = menu_bar->GetSubMenu(0);
ASSERT(file_menu);
ClientToScreen(&point);
file_menu->TrackPopupMenu(TPM_LEFTALIGN |TPM_RIGHTBUTTON, point.x,
point.y, this);
}
Anforderungen
Header: afxwin.h