描述
被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]指向IUnknown一IOleCommandTarget接口用于查询命令状态和执行此对象上的命令. |
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