The TrackPopupMenuEx function displays a shortcut menu at the specified location and tracks the selection of items on the shortcut menu. The shortcut menu can appear anywhere on the screen.
BOOL TrackPopupMenuEx(
HMENU hmenu, | |
UINT fuFlags, | |
int x, | |
int y, | |
HWND hwnd, | |
LPTPMPARAMS lptpm | |
); |
Value |
Meaning |
TPM_HORIZONTAL |
If the menu cannot be shown at the specified location without overlapping the excluded rectangle, the system tries to accommodate the requested horizontal alignment before the requested vertical alignment. |
TPM_VERTICAL |
If the menu cannot be shown at the specified location without overlapping the excluded rectangle, the system tries to accommodate the requested vertical alignment before the requested horizontal alignment. |
The excluded rectangle is a portion of the screen that the menu should not
overlap; it is specified by lptpm.
If you specify TPM_NONOTIFY in the fuFlags parameter, the function does
not send messages to the window identified by hwnd. However, you still
have to pass a window handle in hwnd. It can be any window handle from
your application.
If you specify TPM_RETURNCMD in the fuFlags parameter, the return value is the menu-item identifier of the item that the user selected. If the user cancels the menu without making a selection, or if an error occurs, then the return value is zero.
If you do not specify TPM_RETURNCMD in the fuFlags parameter, the return value is nonzero if the function succeeds and zero if it fails. To get extended error information, call GetLastError.
CreatePopupMenu, GetSubMenu, TPMPARAMS, TrackPopupMenu, WM_COMMAND