Sdílet prostřednictvím


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

Viz také

Referenční dokumentace

Třída CMenu

Diagram hierarchie

CMenu::CreatePopupMenu

CMenu::GetSubMenu

TrackPopupMenu