CMenu::TrackPopupMenu
在指定的位置中會顯示一個浮動快顯功能表並追蹤項目的選取範圍在快顯功能表中。
BOOL TrackPopupMenu(
UINT nFlags,
int x,
int y,
CWnd* pWnd,
LPCRECT lpRect = 0
);
參數
nFlags
指定螢幕位置和滑鼠位置旗標。 如需可用旗標清單中看到 TrackPopupMenu 。x
指定在快顯功能表的螢幕座標的水平位置。 根據 nFlags 參數值,功能表可以是靠左對齊,靠右對齊或置中相對於這個位置。y
在螢幕上指定在功能表的最上方的螢幕座標的垂直位置。pWnd
識別擁有快顯功能表的視窗。 這個參數不能為, NULL,即使 TPM_NONOTIFY 旗標。 這個視窗會從功能表的所有 WM_COMMAND 訊息。 在 Windows 3.1 (含) 以後版本,視窗不 WM_COMMAND 收到訊息,直到 TrackPopupMenu 傳回。 在 視窗中, TrackPopupMenu 傳回之前, 3.0, WM_COMMAND 視窗會接收訊息。lpRect
已忽略。
傳回值
這個方法會傳回呼叫 Windows SDK的 TrackPopupMenu 的結果。
備註
一個浮動快顯功能表可以出現在螢幕上。
範例
// 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);
}
需求
Header: afxwin.h