ITextServices::OnTxInPlaceActivate 方法 (textserv.h)
通知文本服务对象此控件处于就地活动状态。
语法
HRESULT OnTxInPlaceActivate(
[in] LPCRECT prcClient
);
参数
[in] prcClient
类型: const RECT*
控件的客户端矩形。
返回值
类型: HRESULT
如果成功激活对象,则 返回值S_OK。
如果对象由于错误而无法激活,则返回值E_FAIL。 有关 COM 错误代码的详细信息,请参阅 COM 中的错误处理。
注解
就地活动意味着嵌入对象正在 就地运行 (例如,对于常规控件和嵌入,它将有一个窗口来绘制) 。 相比之下,UI 处于活动状态意味着对象当前具有 编辑焦点。 例如,容器上的菜单和工具栏等内容也可能包含来自 UI 活动控件/嵌入的元素。 在任何给定时间都只有一个 UI 活动控件,而可以有许多就地活动控件。
请注意,UI 激活不同于获取焦点。 若要向文本服务对象发出控件正在获取或失去焦点的信号,主机会发送 WM_SETFOCUS 并 WM_KILLFOCUS 消息。 另请注意,无窗口主机将作为 wParam (窗口传递 NULL,该窗口丢失了这些消息的焦点) 。
从非活动状态直接转换到 UI 活动状态时,主机应先调用 ITextServices::OnTxInPlaceActivate ,然后调用 ITextServices::OnTxUIActivate。
ITextServices::OnTxInPlaceActivate 将正在激活的视图的客户端矩形作为参数。 此矩形以包含窗口的客户端坐标提供。 它与在主机上调用 TxGetClientRect 获取的相同。
要求
最低受支持的客户端 | Windows Vista [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | textserv.h |
DLL | Msftedit.dll |
请参阅
概念性
其他资源
引用