Udostępnij za pośrednictwem


CMenu::TrackPopupMenu

Wyświetla ruchomy wyskakującego menu w określonej lokalizacji i śledzi zaznaczenia elementów menu wyskakującego.

BOOL TrackPopupMenu(
   UINT nFlags,
   int x,
   int y,
   CWnd* pWnd,
   LPCRECT lpRect = 0
);

Parametry

  • nFlags
    Określa położenie ekranu i myszy pozycji flagi.Zobacz TrackPopupMenu listę dostępnych flag.

  • x
    Określa położenie poziome we współrzędnych ekranu z wyskakującego menu.W zależności od wartości nFlags parametr menu może być wyrównany do lewej, do prawej lub wyśrodkowany w tym położeniu.

  • y
    Określa położenie w pionie w układzie współrzędnych ekranu u góry menu na ekranie.

  • pWnd
    Identyfikuje okna, który jest właścicielem wyskakującego menu.Ten parametr nie może być NULL, nawet jeśli TPM_NONOTIFY określono flagę.Okno to odbiera wszystkie WM_COMMAND wiadomości z menu.W systemie Windows w wersji 3.1 lub nowszej, nie otrzyma się okna WM_COMMAND wiadomości aż do TrackPopupMenu zwraca.Windows 3.0 otrzyma okna WM_COMMAND wiadomości przed TrackPopupMenu zwraca.

  • lpRect
    Ignorowane.

Wartość zwracana

Ta metoda zwraca wynik wywołania TrackPopupMenu w Windows SDK.

Uwagi

Ruchomy wyskakującego menu można się gdziekolwiek na ekranie.

Przykład

// 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);
}

Wymagania

Nagłówek: afxwin.h

Zobacz też

Informacje

Klasa CMenu

Wykres hierarchii

CMenu::CreatePopupMenu

CMenu::GetSubMenu

TrackPopupMenu