IContextMenu3 interface (shobjidl_core.h)

Exposes methods that either create or merge a shortcut menu associated with a Shell object. Allows client objects to handle messages associated with owner-drawn menu items and extends IContextMenu2 by accepting a return value from that message handling.


The IContextMenu3 interface inherits from IContextMenu2. IContextMenu3 also has these types of members:


The IContextMenu3 interface has these methods.


Allows client objects of the IContextMenu3 interface to handle messages associated with owner-drawn menu items.


This interface also provides the methods of the IContextMenu and IContextMenu2 interfaces, from which it inherits.

When to Implement

Implement IContextMenu3 if your shortcut menu extension needs to process the WM_MENUCHAR message.

This message is forwarded to IContextMenu3::HandleMenuMsg2 only if a QueryInterface call for an IContextMenu3 interface pointer is successful, which indicates that the object supports this interface.

When to Use

You do not call this interface directly. IContextMenu3 is used by the operating system only when it has confirmed that your application is aware of this interface.
Note  Windows Vista and later. Prior to Windows Vista this interface was declared in Shlobj.h.


Minimum supported client Windows 2000 Professional, Windows XP [desktop apps only]
Minimum supported server Windows 2000 Server [desktop apps only]
Target Platform Windows
Header shobjidl_core.h (include Shobjidl.h)