当IContextMenu的客户端应处理与所有者绘制的菜单项相关联的消息时,IContextMenu2接口用于创建或合并与特定对象相关联的上下文菜单。
何时实施
如果您的对象是IContextMenu的客户端,则实施IContexMenu2,当所有者绘制的消息是一个问题时:如果在菜单的所有者窗口的窗口过程中调用TrackPopupMenu可能会收到以下消息之一,请执行此操作:
WM_INITPOPUP
WM_DRAWITEM
WM_MEASUREITEM
只有当IContextMenu2接口指针的QueryInterface调用成功时才会发送这些消息,表示对象支持此接口。
何时使用
你不要直接调用这个接口。操作系统仅在确认应用程序知道此接口时才使用IContextMenu2.
Vtable Order中的方法
IUnknown方法 | 描述 |
QueryInterface | 返回指向支持的接口的指针。 |
AddRef | 增加引用计数。 |
发布 | 减少引用计数。 |
IContextMenu2方法 | 描述 |
QueryContextMenu | 将命令添加到上下文菜单。 |
HandleMenuMsg | 处理与绘制所有者绘制的菜单项相关的消息。 |
InvokeCommand | 执行菜单命令,以响应用户输入或其他方式。例如,参见IExtractIcon. |
GetCommandString | 检索菜单命令的语言无关名称或菜单命令的帮助文本。 |