共用方式為


ICoNtextMenuSite::D oCoNtextMenuPopup 方法 (shobjidl_core.h)

[DoCoNtextMenuPopup 已不再可供 Windows Server 2003 使用。]

建立並顯示快捷方式功能表、追蹤該功能表上的專案選取專案,以及叫用所選的命令。

語法

HRESULT DoContextMenuPopup(
  [in] IUnknown *punkContextMenu,
  [in] UINT     fFlags,
  [in] POINT    pt
);

參數

[in] punkContextMenu

類型: IUnknown*

快顯功能表 IUnknown 實作的指標。

[in] fFlags

類型: UINT

選擇性旗標,指定如何變更快捷方式功能表。 此參數可以設定為下列值的任何組合。 系統會保留低序字的其餘位。 高階字可用於內容特定的通訊。 CMF_RESERVED值可用來遮罩低序字。

CMF_NORMAL (0x00000000)

0x00000000。 表示正常作業。 快顯功能表延伸模組、命名空間延伸模組或拖放處理常式可以新增所有功能表項目。

CMF_DEFAULTONLY (0x00000001)

0x00000001。 當使用者啟動預設動作時,通常會按兩下來設定此旗標。 如果快顯功能表延伸模組未修改功能表中的預設專案,此旗標會提供提示來新增任何專案。 如果指定這個值,快捷方式功能表延伸模組或拖放處理常式不應該加入任何功能表項目。 命名空間延伸模組應該只在有任何) 時新增預設專案 (。

CMF_VERBSONLY (0x00000002)

0x00000002。 如果快顯功能表是針對快速鍵物件,就會設定此旗標。 快捷方式功能表處理常式應該忽略此值。

CMF_EXPLORE (0x00000004)

0x00000004。 當 Windows 檔案總管樹視窗存在時,就會設定此旗標。

CMF_NOVERBS (0x00000008)

0x00000008。 此旗標是針對 [ 傳送至 ] 功能表中顯示的專案所設定。 快捷方式功能表處理常式應該忽略此值。

CMF_CANRENAME (0x00000010)

0x00000010。 如果呼叫的應用程式支援重新命名專案,就會設定此旗標。 快顯功能表延伸模組或拖放處理常式應該忽略此旗標。 如果適用,命名空間延伸模組應該將重新命名專案新增至功能表。

CMF_NODEFAULT (0x00000020)

0x00000020。 如果未將功能表中的專案設定為預設值,就會設定此旗標。 拖放處理常式應該忽略此旗標。 命名空間延伸不應該將任何功能表項目設定為預設值。

CMF_INCLUDESTATIC (0x00000040)

這個值無法使用。

Windows Server 2003 和 Windows XP: 0x00000040。 當建構靜態功能表時,就會設定此旗標。 只有瀏覽器應該使用此旗標。 所有其他快捷方式功能表延伸模組都應該忽略此旗標。

CMF_ITEMMENU (0x00000080)

0x00000080。 呼叫應用程式叫用檢視中專案的操作功能表時,會設定此旗標 (,而不是檢視) 的背景。

Windows Server 2003 和 Windows XP: 這個值無法使用。

CMF_EXTENDEDVERBS (0x00000100)

0x00000100。 當呼叫的應用程式想要擴充動詞時,就會設定此旗標。 當使用者以滑鼠右鍵按一下物件時,會顯示一般動詞。 若要顯示擴充動詞,使用者必須在按下 SHIFT 鍵時按一下滑鼠右鍵。

CMF_DISABLEDVERBS (0x00000200)

0x00000200。 當呼叫的應用程式想要叫用已停用的動詞時,就會設定此旗標,例如舊版功能表。

Windows Server 2003 和 Windows XP: 這個值無法使用。

CMF_ASYNCVERBSTATE (0x00000400)

0x00000400。 如果可非同步評估動詞狀態,就會設定此旗標。

Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP: 這個值無法使用。

CMF_OPTIMIZEFORINVOKE (0x00000800)

0x00000800。 通知操作功能表處理常式不支援透過標準動詞名稱叫用動詞,以略過其 ICoNtextMenu::QueryCoNtextMenu 實作中的處理。

Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP: 這個值無法使用。

CMF_SYNCCASCADEMENU (0x00001000)

0x00001000。

Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP: 這個值無法使用。

CMF_DONOTPICKDEFAULT (0x00002000)

0x00001000。 如果未明確指定動詞,請勿在其位置使用預設動詞。

Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP: 這個值無法使用。

CMF_RESERVED (0xffff0000)

0xffff0000。 此旗標是位元遮罩,指定不應該使用的所有位。 這只能當做遮罩使用。 請勿將此值當做參數值傳遞。

[in] pt

類型: POINT

您想要顯示快捷方式功能表的位置。 這個點會指定螢幕座標中功能表左上角的位置。

傳回值

類型: HRESULT

如果此方法成功,則會傳回 S_OK。 否則,它會傳回 HRESULT 錯誤碼。

規格需求

   
最低支援的用戶端 Windows XP [僅限傳統型應用程式]
最低支援的伺服器 都不支援
目標平台 Windows
標頭 shobjidl_core.h (包含 Shobjidl.h)
Dll Shell32.dll (5.0 版或更新版本)