CMenu::TrackPopupMenu
Muestra un menú emergente flotante en la ubicación especificada y sigue la selección de elementos del menú emergente.
BOOL TrackPopupMenu(
UINT nFlags,
int x,
int y,
CWnd* pWnd,
LPCRECT lpRect = 0
);
Parámetros
nFlags
Especifica la PANT- posición y los marcadores de la mouse- posición.Vea TrackPopupMenu para una lista de marcas disponibles.x
Especifica la posición horizontal en coordenadas de pantalla de menú emergente.Según el valor del parámetro de nFlags , el menú puede ser alineado a la izquierda, alineadas a la derecha, o centrada en relación con esta posición.y
Especifica la posición vertical en las coordenadas de la pantalla de la parte superior del menú en la pantalla.pWnd
Identifica la ventana propietaria del menú emergente.Este parámetro no puede ser NULL, incluso si se especifica el indicador de TPM_NONOTIFY .Esta ventana recibe todos los mensajes de WM_COMMAND de menú.En las versiones de Windows 3,1 y versiones posteriores, la ventana no recibe los mensajes de WM_COMMAND hasta que TrackPopupMenu vuelva.En Windows 3,0, la ventana recibe los mensajes de WM_COMMAND antes de que TrackPopupMenu vuelva.lpRect
Se omitirá.
Valor devuelto
Este método devuelve el resultado de llamar a TrackPopupMenu en Windows SDK.
Comentarios
Un menú emergente flotante puede aparecer en cualquier parte en la pantalla.
Ejemplo
// 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
encabezado: afxwin.h