winuser.h


TrackPopupMenuEx

[Ahora soportado en Windows NT]

La función TrackPopupMenuEx muestra un menú de atajo en la posición especificada y rastrea la selección de ítems en el menú. El menú de atajo puede aparecer en cualquier lugar de la pantalla.

Sintaxis

BOOL TrackPopupMenuEx(
    HMENU hmenu, 	
    UINT fuFlags, 	
    int x, 	
    int y, 	
    HWND hwnd, 	
    LPTPMPARAMS lptpm	
   );

Parámetros

hMenu: identifica el menú de atajo a mostrar. El manipulador se puede obtener mediante una llamada a CreatePopupMenu para crear un menú de atajo, o mediante una llamada a GetSubMenu para recuperar un manipulador de un submenú asociado con un ítem de menú existente.

uFlags: opciones de posicionamiento y otras opciones. Este parámetro, que puede ser cero o más de los valores listados en la función TrackPopupMenu, puede incluir también uno de los valores siguientes:

Valor Significado
TPM_HORIZONTAL Si el menú no puede ser mostrado en la posición especificada sin superponerse al rectángulo excluido, el sistema intenta acomodar la alineación horizontal requerida antes de hacerlo con la vertical.
TPM_VERTICAL Si el menú no puede ser mostrado en la posición especificada sin superponerse al rectángulo excluido, el sistema intenta acomodar la alineación vertical requerida antes de hacerlo con la horizontal.

El rectángulo excluido es una porción de pantalla que el menú no debe tapar; está especificada por el parámetro lptpm.

x: especifica la posición horizontal del menú de atajo, en coordenadas de pantalla.

y: especifica la posición vertical del menú de atajo, en coordenadas de pantalla.

hWnd: identifica la ventana a la que pertenece el menú de atajo. Esta ventana recibirá todos los mensajes del menú. La ventana no recibe un mensaje WM_COMMAND desde el menú hasta que la función regrese.

lptpm: puntero a estructura TPMPARAMS que especifica un área de la pantalla en la que el menú de atajo no puede superponerse. Este parámetro puede ser NULL.

Valor de retorno

Si la función tiene éxito, el valor de retorno es distinto de cero.

Si la función falla, el valor de retorno es cero. Para obtener información adicional sobre el error, llamar a GetLastError.