CMenu::TrackPopupMenu
Plovoucí rozbalovací nabídky se zobrazí v zadaném umístění a sleduje výběr položek v rozbalovací nabídce.
BOOL TrackPopupMenu(
UINT nFlags,
int x,
int y,
CWnd* pWnd,
LPCRECT lpRect = 0
);
Parametry
nFlags
Určuje umístění obrazovky a polohu myši příznaky.Viz TrackPopupMenu seznam dostupných příznaků.x
Určuje vodorovnou polohu rozbalovací nabídky v obrazovkových souřadnicích.V závislosti na hodnotě nFlags parametr, v nabídce může být zarovnán doleva, doprava nebo na střed vzhledem k této poloze.y
Určuje svislé umístění v obrazovkových souřadnicích horní části nabídky na obrazovce.pWnd
Určuje, který vlastní místní nabídky okna.Tento parametr nemůže být NULL, i když TPM_NONOTIFY je zadán příznak.Toto okno přijímá všechny WM_COMMAND zprávy z nabídky.V systému Windows verze 3.1 a vyšší neobdrží okna WM_COMMAND zprávy, dokud TrackPopupMenu vrátí.V systému Windows 3.0 okna obdrží WM_COMMAND zprávy před TrackPopupMenu vrátí.lpRect
Nejsou dostupné.
Vrácená hodnota
Tato metoda vrátí výsledek volání TrackPopupMenu v .
Poznámky
Plovoucí rozbalovací nabídky můžete umístit na libovolné místo na obrazovce.
Příklad
// 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);
}
Požadavky
Záhlaví: afxwin.h