Navigation:  Internet Development > Advanced Hosting Reference > Interfaces > IDocHostUIHandler >

ShowContextMenu

Previous pageReturn to chapter overviewNext page

描述

 

由MSHTML调用显示快捷菜单。

 

C++ 语法

 

HRESULT ShowContextMenu(     

   DWORD dwID,

   POINT *ppt,

   IUnknown *pcmdtReserved,

   IDispatch *pdispReserved

);

 

PowerBASIC 语法

 

METHOD ShowContextMenu ( _

   BYVAL dwID AS DWORD, _

   BYREF *ppt AS POINT _

   BYVAL *pcmdtReserved AS IUnknown, _

   BYVAL *pdispReserved AS IDispatch _

) AS LONG

 

参数

 

dwID

[in]DWORD指定要显示的快捷菜单的标识符。该标识符是通过Mshtmhst.inc中定义的快捷菜单值(例如,CONTEXT_MENU_DEFAULT)来对值0x1进行按位移位。

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]在ppt指定的屏幕坐标上指向对象的IDispatch界面。这允许主机区分特定对象以提供更具体的上下文。

 

OBJRESULT

 

返回以下值之一:

 

S_OK

主机显示自己的用户界面(UI)。MSHTML不会尝试显示其UI。

S_FALSE

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

DOCHOST_E_UNKNOWN

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

 

备注

 

在Microsoft Internet Explorer 4.0中,pdispReserveden参数不提供信息,但在Internet Explorer 5及更高版本中,该参数包含指向IDispatch接口的指针。

 

 

以下代码示例显示如何使用pdispReserveden参数。

 

IHTMLElement * pelem;

HRESULT小时

hr = pdispReserved- >QueryInterface(IID_IHTMLElement,(空虚**)pelem);

if(SUCCEEDED(hr)){

       BSTR BSTR;

       pElem->get_tagName(bstr);

       USES_CONVERSION;

       ATLTRACE(“TagName:%s \\ n”,OLE2T(bstr));

       SysFreeString(bstr);

       pElem->Release();

}