IContextMenu::QueryContextMenu

Send Feedback

The QueryContextMenu method adds the new menu items to a context menu.

Syntax

HRESULT QueryContextMenu (
  HMENU hmenu, 
  UINT indexMenu, 
  UINT idCmdFirst, 
  UINT idCmdLast, 
  UINT uFlags 
);

Parameters

  • hmenu
    [in] The menu to which additional items are added.
  • indexMenu
    [in] Specifies the location on the menu (must never be –1).
  • idCmdFirst
    [in] The beginning of the specified range.
  • idCmdLast
    [in] The end of the specified range.
  • uFlags
    [in] Specifies the context. See the Remarks section for the list of supported flags.

Return Values

QueryContextMenu returns the number of items that were added to the context menu. The number of items added is also the maximum menu item ID offset (USHORT) in the code field (LOWORD) of the scode.

Note   If there are gaps between menu items, the number is provided as if there were no gaps.

Remarks

The QueryContextMenu method can insert one or more new menu items into the specified menu hmenu, at the specified location indexMenu, with the IDs of those menu items. IDs must be in the range specified from idCmdFirst to idCmdLast. The QueryContextMenu method returns the maximum menu item ID offset (USHORT) in the code field (LOWORD) of the scode. The HIWORD is reserved for context specific communications, and the LOWORD is reserved for system use. The uFlags parameter specifies the context of the invocation.

The following table lists the possible values for the uFlags parameter.

Flag Value Description
CMF_NORMAL 0x00000000 Passed when the user right-clicks or taps and holds an object in the content pane. This is referred to as the normal action. Note that a shortcut menu extension, namespace extension, or drag-and-drop handler can add all menu items.
CMF_DEFAULTONLY 0x00000001 Passed when the user double-clicks or taps an object in the content pane. This is referred to as the default action. QueryContextMenu returns NOERROR, and no menu items are added to the context menu.
CMF_VERBSONLY 0x00000002 Passed when constructing a context menu for a short-cut object. QueryContextMenu never adds unsuitable menu items to context menus. An example of an unsuitable menu item is Delete, because it is not clear whether Delete should remove the link source item or just the link.
CMF_EXPLORE 0x00000004 Passed when the user right-clicks or taps and holds an object in the navigation pane. This flag is ignored.

Requirements

Pocket PC: Pocket PC 2000 and later.
Smartphone: none
OS Versions: Windows CE 3.0 and later.
Header: Declared in shlobj.h.

See Also

IContextMenu | IContextMenu::GetCommandString | IContextMenu::InvokeCommand

Send Feedback on this topic to the authors

Feedback FAQs

© 2006 Microsoft Corporation. All rights reserved.