TrackPopupMenu

This function displays a floating pop-up menu at the specified location and tracks the selection of items on the pop-up menu. The floating pop-up menu can appear anywhere on the screen.

BOOL TrackPopupMenu(
  HMENU hMenu, 
  UINT uFlags, 
  int x, 
  int y, 
  int nReserved, 
  HWND hWnd, 
  const RECT* prcRect 
); 

Parameters

  • hMenu
    [in] Handle to the shortcut menu to be displayed. The handle can be obtained by calling CreatePopupMenu to create a new shortcut menu, or by calling GetSubMenu to retrieve the handle to a submenu associated with an existing menu item.

  • uFlags
    [in] A set of bit flags that specify function options.

    Use one of the following bit flag constants to specify how the function positions the shortcut menu horizontally.

    Value Description
    TPM_CENTERALIGN If this flag is set, the function centers the shortcut menu horizontally relative to the coordinate specified by the x parameter.
    TPM_LEFTALIGN If this flag is set, the function positions the shortcut menu so that its left side is aligned with the coordinate specified by the x parameter.
    TPM_RIGHTALIGN Positions the shortcut menu so that its right side is aligned with the coordinate specified by the x parameter.

    Use one of the following bit flag constants to specify how the function positions the shortcut menu vertically.

    TPM_BOTTOMALIGN If this flag is set, the function positions the shortcut menu so that its bottom side is aligned with the coordinate specified by the y parameter.
    TPM_TOPALIGN If this flag is set, the function positions the shortcut menu so that its top side is aligned with the coordinate specified by the y parameter.
    TPM_VCENTERALIGN If this flag is set, the function centers the shortcut menu vertically relative to the coordinate specified by the y parameter.

    Use the following bit flag constants to determine the user selection without having to set up a parent window for the menu.

    Value Description
    TPM_NONOTIFY Unsupported.
    TPM_RETURNCMD If this flag is set, the function returns the menu item identifier of the user's selection in the return value.
  • x
    [in] Specifies the horizontal location of the shortcut menu, in screen coordinates.

  • y
    [in] Specifies the vertical location of the shortcut menu, in screen coordinates.

  • nReserved
    [in] Reserved; set to zero.

  • hWnd
    [in] Handle to the window that owns the shortcut menu. This window receives all messages from the menu. The window does not receive a WM_COMMAND message from the menu until the function returns.

    If you specify TPM_NONOTIFY in the uFlags parameter, the function does not send messages to the window identified by hWnd. However, you must still pass a window handle in hWnd. It can be any window handle from your application.

  • prcRect
    [in] Ignored.

Return Values

If you specify TPM_RETURNCMD in the uFlags 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 uFlags parameter, the return value is nonzero if the function succeeds and zero if it fails. To get extended error information, call GetLastError.

Requirements

OS Versions: Windows CE 1.0 and later.
Header: Winuser.h.
Link Library: Menu.lib.

See Also

CreatePopupMenu | GetSubMenu | RECT | WM_COMMAND | Menu Functions

Last updated on Wednesday, April 13, 2005

© 2005 Microsoft Corporation. All rights reserved.