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。 其他可能的返回值包括以下内容。
返回代码 | 说明 |
---|---|
|
无窗口对象未处理窗口消息。 容器应调用消息的 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 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | ocidl.h |