hwndParent (HWND) - input
hwndOwner (HWND) - input
The owner window receives all the notification messages generated by the pop-up menu.
hwndMenu (HWND) - input
The pop-up menu must have been created, by use of either the WinCreateMenu or WinLoadMenu functions.
x (LONG) - input
The value is in window coordinates relative to the origin of the parent window.
The x-coordinate of the origin of the pop-up menu can be affected, if either of the PU_POSITIONONITEM or PU_HCONSTRAIN values of the fs parameter is also set.
y (LONG) - input
The value is in window coordinates relative to the origin of the parent window.
The y-coordinate of the origin of the pop-up menu can be affected, if either of the PU_POSITIONONITEM or PU_VCONSTRAIN values of the fs parameter is also set.
idItem (LONG) - input
This is used if either the PU_POSITIONONITEM or PU_SELECTITEM of the fs parameter is also set. It must be greater or equal to 0 and less or equal to 0xFFFF.
fs (ULONG) - input
Position
PU_POSITIONONITEM
The position of the pop-up menu can be affected, if either the PU_HCONSTRAIN or or PU_VCONSTRAIN values of the fs parameter is also set.
This value also causes the pop-up menu item identified by the idItem to be selected.
These options allow the application to ensure that the pop-up menu is visible on the desktop.
PU_HCONSTRAIN
If necessary the position of the pop-up menu will be adjusted so that its left edge is coincident with the left edge of the desktop or that its right edge is coincident with the right edge of the desktop.
If necessary the position of the pop-up menu will be adjusted so that its top edge is coincident with the top edge of the desktop or that its bottom edge is coincident with the bottom edge of the desktop.
This allows the user interaction which caused the application to summon the pop-up menu to be carried through as the initial user interaction with the pop-up menu.
For example, this permits the application to support the user interface in which mouse button 1 can be depressed to cause the pop-up menu to be presented and held down while moving the mouse over the menu in order to select another menu item and then released to dismiss the menu.
Only one of the following values can be selected:
PU_MOUSEBUTTON1DOWN
This is the default value.
PU_SELECTITEM
If the identified item is in a submenu of the pop-up menu, then all the previous submenus in the menu hierarchy are presented with the correct path to the identified item.
The window procedure controlling the pop-up menu must be informed of which input devices are available for interaction with the pop-up menu.
These options are independent to those of the InitialState parameter. Therefore, if an application indicates in the InitialState parameter that the pop-up menu is to be initialized with a particular user interaction, then the mechanism which permits that user interaction would usually be specified in this parameter. In this way the user's expectation, that once a device has been employed for the manipulation of the pop-up menu then that device can continue to be used for that purpose, is fulfilled.
It is valid to specify a user interaction as an initialization of the pop-up menu by an input mechanism which is not identified as available for interaction with the pop-up menu. This implies that the user cannot necessarily complete the interaction with the pop-up menu with that input mechanism.
For example, if a pop-up menu is initialized with a mouse button depressed but that mouse button is not identified as available for manipulating the pop-up menu, then that mouse button can manipulate the pop-up menu until it is released. Assuming that the pop-up menu is not dismissed when that mouse button is released, then the mouse button cannot be used for further interaction with the pop-up menu, since it is not identified as available for that use.
The following list shows the input device valid for interaction with the pop-up menu with each option:
PU_KEYBOARD
rc (BOOL) - returns
This function returns as soon as the pop-up menu has been invoked, which might be before the user has completed interacting with the pop-up menu.
TRUE