ITextServices::TxSendMessage 方法 (textserv.h)
由窗口主机用于将从其窗口发送的消息转发到文本服务对象。
语法
HRESULT TxSendMessage(
UINT msg,
WPARAM wparam,
LPARAM lparam,
LRESULT *plresult
);
参数
msg
类型: UINT
消息的标识符。
wparam
类型: WPARAM
窗口消息中的 WPARAM 。
lparam
类型: LPARAM
窗口消息中的 LPARAM 。
plresult
类型: LRESULT*
消息的返回 LRESULT。
返回值
类型: HRESULT
如果该方法成功,则 返回值S_OK。
如果方法失败,则返回值为以下 HRESULT 代码之一。 有关 COM 错误代码的详细信息,请参阅 COM 中的错误处理。
返回代码 | 说明 |
---|---|
|
内存不足。 已处理 NOERROR 消息,并执行了一些操作。 |
|
消息未处理。 通常指示调用方应通过调用 DefWindowProc 来处理消息本身。 |
|
已处理消息,但未对击键执行任何操作。 |
注解
请注意,两个返回值是从此函数传回的。 应从窗口过程传回的返回值是 plresult。 但是,在某些情况下,返回的 LRESULT 不包含足够的信息。 例如,若要实现在控件周围移动光标,最好知道击键 ((如右箭头) )是否已处理但忽略了 (例如,插入点已在文本) 的最右侧位置。 在这些情况下,可以通过返回的 HRESULT 返回更多信息。
在 识别键或字符时,WM_CHAR和 WM_KEYDOWN 应返回值S_MSG_KEYIGNORED,但鉴于当前状态无效。 例如,在以下情况下应返回S_MSG_KEYIGNORED:
- 尝试将插入点移动到文档的开头或结尾或超出文档开头或末尾的任何击键;当它已分别位于文档的开头或结尾时。
- 当插入点已位于最后一行时,尝试将插入点移动到下一行或超过下一行的任何击键;或 到或之前,当它已位于第一行时。
- 从 WM_CHAR 中插入字符的任何插入都会使插入点超过控件的最大长度。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | textserv.h |
DLL | Msftedit.dll |
请参阅
概念性
其他资源