CMenu::TrackPopupMenu
Exibe um menu pop-up flutuante no local especificado e controla a seleção de itens de menu pop-up.
BOOL TrackPopupMenu(
UINT nFlags,
int x,
int y,
CWnd* pWnd,
LPCRECT lpRect = 0
);
Parâmetros
nFlags
Especifica os sinalizadores de tela- posição e de mouse-over posição.Consulte TrackPopupMenu para obter uma lista de sinalizadores disponíveis.x
Especifica a posição horizontal em coordenadas da tela de menus pop-up.Dependendo do valor do parâmetro de nFlags o menu, um pode ser alinhado, alinhado à direita, ou centralizado em relação a essa posição.s
Especifica a posição vertical em coordenadas da tela a parte superior do menu na tela.pWnd
Identifica a janela que possui o menu pop-up.Este parâmetro não pode ser NULO, mesmo se o sinalizador de TPM_NONOTIFY é especificado.Esta janela recebe todas as mensagens de WM_COMMAND do menu.Em as versões do windows 3,1 e posterior, a janela não receber mensagens de WM_COMMAND até que TrackPopupMenu retorna.Em o windows 3,0, a janela recebe mensagens de WM_COMMAND antes que TrackPopupMenu retorna.lpRect
Ignorado.
Valor de retorno
Esse método retorna o resultado de chamar TrackPopupMenu em 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