IOleInPlaceObjectWindowless::OnWindowMessage 方法 (ocidl.h)
將訊息從容器分派至就地作用中的無窗口物件。
語法
HRESULT OnWindowMessage(
[in] UINT msg,
[in] WPARAM wParam,
[in] LPARAM lParam,
[out] LRESULT *plResult
);
參數
[in] msg
Windows 提供給容器之視窗訊息的標識碼。
[in] wParam
Windows 提供給容器之視窗訊息的參數。
[in] lParam
Windows 提供給容器之視窗訊息的參數。
[out] plResult
視窗訊息結果碼的指標。
傳回值
此方法會在成功時傳回S_OK。 其他可能的傳回值包括下列專案。
傳回碼 | Description |
---|---|
|
無視窗物件未處理視窗訊息。 容器應該針對訊息呼叫DefWindowProc,或處理訊息本身,如下所示。 |
備註
容器會呼叫這個方法,將視窗訊息傳送至就地作用中的無窗口物件。 容器應該根據下列指導方針來分派訊息:
針對下列訊息,容器應該先將訊息分派至已擷取滑鼠的無窗口物件,如果有的話。 否則,容器應該將訊息分派至滑鼠游標下的無窗口物件。 如果沒有這類物件,容器就能夠自行處理下列訊息:
- WM_MOUSEMOVE
- WM_SETCURSOR
- WM_XBUTTONDOWN
- WM_XBUTTONUP
- WM_XBUTTONDBLCLK
- WM_CANCELMODE
- WM_CHAR
- WM_DEADCHAR
- WM_HELP
- WM_IMExxx
- WM_KEYDOWN
- WM_KEYUP
- WM_SYSDEADCHAR
- WM_SYSKEYDOWN
- WM_SYSKEYUP
無窗口物件可以將S_FALSE傳回給這個方法,以指出它未處理訊息。 然後,容器會呼叫 DefWindowProc 函式來執行訊息的預設行為,或處理訊息本身。
容器必須將下列視窗訊息傳遞至預設視窗程式:
- WM_CHAR
- WM_DEADCHAR
- WM_IMExxx
- WM_KEYDOWN
- WM_KEYUP
- WM_MOUSEMOVE
- WM_SYSCHAR
- WM_SYSDEADCHAR
- WM_SYSKEYUP
- WM_XBUTTONDOWN
- WM_XBUTTONUP
- WM_XBUTTONDBLCLK
- WM_CONTEXTMENU
- WM_HELP
- WM_SETCURSOR
注意 針對WM_SETCURSOR,容器可以設定游標本身或執行任何動作。
傳遞至 wParam 和 lParam 物件的所有座標都會指定為包含視窗的用戶端座標。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 專業版 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | ocidl.h |