导航:  CWebBrowser Class > DocHostUIHandler Events >

ShowContextMenu

上一页返回章节概述下一页

描述

 

被MSHTML显示快捷菜单.

 

语法

FUNCTION ShowContextMenu ( _

   BYVAL hwndContainer AS HWND, _

   BYVAL dwID AS DWORD, _

   BYVAL ppt AS POINT PTR _

   BYVAL pcmdtReserved AS IUnknown PTR, _

   BYVAL pdispReserved AS IDispatch PTR _

) AS HRESULT

 

参数

hwndContainer

[in]处理的OLE容器窗口.

dwID

[in] DWORD指定的标识符将显示快捷菜单.这个标识符是由快捷菜单的值的值0x1一移位(例如,在Mshtmhst.inc CONTEXT_MENU_DEFAULT)定义.

0x2

值(0x1 << CONTEXT_MENU_DEFAULT)

0x4

值(0x1 << CONTEXT_MENU_CONTROL)

0x8

值(0x1 << CONTEXT_MENU_TABLE)

0x10

值(0x1 << CONTEXT_MENU_TEXTSELECT)

0x30

值(0x1 << CONTEXT_MENU_ANCHOR)

0x20

值(0x1 << CONTEXT_MENU_UNKNOWN)

ppt

[in]指针指向一个包含菜单的屏幕坐标POINT结构.

pcmdtReserved

[in]指向IUnknownIOleCommandTarget接口用于查询命令状态和执行此对象上的命令.

pdispReserved

[in]指针指向一个在屏幕上的对象IDispatch界面坐标指定的PPT.这允许宿主区分特定对象以提供更具体的上下文.

 

返回值

 

返回下列值之一:

 

S_OK

主机显示自己的用户界面,(UI). MSHTML不会试图显示其UI.

S_FALSE

主机没有显示任何UI. MSHTML将显示其UI.

DOCHOST_E_UNKNOWN

菜单标识符未知.MSHTML可以尝试从以前的版本标识符替代.

 

备注

 

在微软Internet Explorer 4.0的pdispReserved参数没有提供的信息,而在Internet Explorer 5和后来的参数包含指针的IDispatch接口.

 

示例

 

下面的代码示例演示如何使用pdispReserved参数.

 

DIM pElem AS IHTMLElement PTR

DIM hr AS HRESULT

hr = pdispReserved->lpvtbl->QueryInterface(pdispReserved, @IID_IHTMLElement, @pElem)

IF SUCCEEDED(hr) THEN

  DIM bstrTagName AS AFX_BSTR

  pElem->lpvtbl->get_tagName(bstrTagName)

  pElem->lpvtbl->Release(pElem)

  PRINT *bstrTagName

  SysFreeString bstrTagName

END IF

 

引用文件

 

CDocHostUIHandlerImpl.inc