CMenu::TrackPopupMenu
Exibe um menu pop-up flutuante no local especificado e controla a seleção de itens no menu pop-up.
BOOL TrackPopupMenu(
UINT nFlags,
int x,
int y,
CWnd* pWnd,
LPCRECT lpRect = 0
);
Parâmetros
nFlags
Especifica os sinalizadores de posição de tela e a posição do mouse.Consulte TrackPopupMenu para obter uma lista de sinalizadores disponíveis.x
Especifica a posição horizontal em coordenadas da tela do menu pop-up.Dependendo do valor do parâmetro nFlags, o menu pode ser alinhado à esquerda, alinhadDireito ou centralizado Relativo para essa posição.y
Especifica a posição vertical em coordenadas da tela da parte superior do menu na tela.pWnd
Identifica a janela que possui o menu pop-up.Esse parâmetro não pode ser NULL, mesmo se o Sinalizar de TPM_NONOTIFY estiver especificado.Esta janela recebe Tudo as mensagens de WM_COMMAND de do menu.Em Windows versões 3.1 e posteriores, a janela não Receber WM_COMMAND mensagens até que retorne TrackPopupMenu.No Windows 3.0, a janela recebe mensagens de WM_COMMAND de antes de retornar TrackPopupMenu.lpRect
Ignorado.
Valor de retorno
Esse método retorna o resultado de chamar TrackPopupMenu a Windows SDK.
Comentários
Um menu pop-up flutuante pode aparecer em qualquer lugar na tela.
Exemplo
// 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);
}
Requisitos
Cabeçalho: afxwin.h