共用方式為


IShellBrowser::InsertMenusSB 方法 (shobjidl_core.h)

允許容器將其功能表群組插入複合功能表,而此功能表會在檢視或使用擴充命名空間時顯示。

語法

HRESULT InsertMenusSB(
  HMENU                hmenuShared,
  LPOLEMENUGROUPWIDTHS lpMenuWidths
);

參數

hmenuShared

類型: HMENU

空功能表的句柄。

lpMenuWidths

類型: LPOLEMENUGROUPWIDTHS

六個 LONG 值的 OLEMENUGROUPWIDTHS 陣列位址。 容器會填入元素 0、2 和 4,以反映它在 [檔案]、[檢視] 和 [視窗] 功能表群組中提供的功能表元素數目。

傳回值

類型: HRESULT

如果成功,則傳回 S_OK ,否則傳回 COM 定義的錯誤值。

備註

這個方法類似於 IOleInPlaceFrame::InsertMenus 方法。 Windows 檔案總管會將 [檔案 ] 和 [ 編輯] 下拉功能表放在 [檔案] 功能表群組、 [檢視 ] 和 [ 工具 ] 功能表的 [容器] 功能表群組中,以及 [視窗] 功能表群組中的 [說明 ] 功能表。 每個下拉功能表都會有唯一標識符,FCIDM_MENU_FILE/EDIT/VIEW/TOOLS/HELP。 檢視可藉由標識符將功能表項插入這些子功能表,這與 OLE 的就地啟用機制不同。 檢視插入 Windows 檔案總管子功能表或其本身子功能表的功能表命令標識碼必須介於 FCIDM_SHVIEWFIRSTFCIDM_SHVIEWLAST 之間。

呼叫應用程式的注意事項

第一次啟用時,命名空間延伸模組會呼叫這個方法,以便將其功能表插入框架層級的使用者介面。

物件應用程式會要求容器將其功能表新增至 hmenuShared 參數中指定的功能表,以及設定 lpMenuWidths 參數所指向之 OLEMENUGROUPWIDTHS 陣列中的群組計數。 然後,物件應用程式會新增自己的功能表和計數。 對象可以視需要呼叫 IOleInPlaceFrame::InsertMenus 方法,以建置複合功能表。 容器應該使用與下拉功能表中所有專案之複合功能表相關聯的初始功能表句柄。

實作者的注意事項

針對 IShellBrowser 實作,功能表標識碼必須位於要FCIDM_BROWSERLASTFCIDM_BROWSERFIRST的範圍內。

規格需求

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