IContextMenu3::HandleMenuMsg2 方法 (shobjidl_core.h)
允許 IContextMenu3 介面的用戶端對象處理與擁有者繪製功能表項相關聯的訊息。
語法
HRESULT HandleMenuMsg2(
UINT uMsg,
WPARAM wParam,
LPARAM lParam,
LRESULT *plResult
);
參數
uMsg
類型: UINT
要處理的訊息。 在某些訊息的情況下,例如WM_INITMENUPOPUP、WM_DRAWITEM、WM_MENUCHAR或WM_MEASUREITEM,所呼叫的客戶端物件可能會提供擁有者繪製的功能表項。
wParam
類型: WPARAM
其他訊息資訊。 此參數的值取決於 uMsg 參數的值。
lParam
類型: LPARAM
其他訊息資訊。 此參數的值取決於 uMsg 參數的值。
plResult
類型: LRESULT*
功能表擁有者從訊息傳回的 LRESULT 值位址。 此參數可以是 Null。
傳回值
類型: HRESULT
如果此方法成功,則會傳回 S_OK。 否則,它會傳回 HRESULT 錯誤碼。
備註
IContextMenu3::HandleMenuMsg2 通常會取代 IContextMenu2::HandleMenuMsg,並在 IContextMenu 判斷支援 IContextMenu3 且收到其中一個支援的訊息時呼叫。 (看到 uMsg) 。 不過,在某些情況下,仍會呼叫 IContextMenu2::HandleMenuMsg 。 操作功能表主機可以透過或兩種方法分派功能表訊息。 因此,如果殼層延伸模塊同時實作 IContextMenu2::HandleMenuMsg 和 IContextMenu3::HandleMenuMsg2,則必須準備功能表訊息才能透過任一方法送達。
注意 如果未實作 IContextMenu3 ,不保證會在其位置呼叫 IContextMenu2 。 在某些情況下,會決定缺少 IContextMenu3 ,然後停止程式。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 Professional、Windows XP [僅限桌面應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | shobjidl_core.h (包含 Shobjidl.h) |
Dll | Shell32.dll (4.71 版或更新版本) |