iTfContext::GetSelection 方法 (msctf.h)

获取文档中的选择。

语法

HRESULT GetSelection(
  [in]  TfEditCookie ec,
  [in]  ULONG        ulIndex,
  [in]  ULONG        ulCount,
  [out] TF_SELECTION *pSelection,
  [out] ULONG        *pcFetched
);

parameters

[in] ec

包含标识编辑会话的编辑 Cookie。 这是传递给 ITfEditSession::D oEditSession 的值。

[in] ulIndex

指定要获取的第一个选定内容的从零开始的索引。 使用 TF_DEFAULT_SELECTION 获取默认选择。 如果使用TF_DEFAULT_SELECTION,则只获取一个选择。

[in] ulCount

指定要获取的最大选择数。

[out] pSelection

接收每个选择的数据 的TF_SELECTION 结构的数组。 数组必须至少能够保存 ulCount 元素。

[out] pcFetched

指向 ULONG 值的指针,该值接收获取的选择数。

返回值

此方法可以返回其中一个值。

说明
S_OK
方法成功。
TF_E_NOSELECTION
文档没有选择。
TF_E_NOLOCK
ec 中的 Cookie 无效。
TF_E_DISCONNECTED
上下文不在文档堆栈上。
E_INVALIDARG
一个或多个参数无效。
E_OUTOFMEMORY
发生内存分配失败。

注解

所选内容是突出显示的文本区域,如果区域为空,则为插入点,用于标识文档中的用户焦点区域。

如果此方法成功,调用方必须释放获取的所有TF_SELECTION结构的范围成员。

通常,上下文仅支持单个选择。 但是,上下文可以支持多个同时选择。 此方法可用于获取多个选择。

示例


HRESULT         hr;
TF_SELECTION    tfSel;
ULONG           uFetched;

//Obtain the default selection. 
hr = pContext->GetSelection(ec, TF_DEFAULT_SELECTION, 1, &tfSel, &uFetched);
if(SUCCEEDED(hr) && (uFetched > 0))
{
    //Work with the selection. 
    
    //Release the selection range object. 
    tfSel.range->Release();
}

要求

   
最低受支持的客户端 Windows 2000 专业版 [桌面应用 |UWP 应用]
最低受支持的服务器 Windows 2000 Server [桌面应用 |UWP 应用]
目标平台 Windows
标头 msctf.h
DLL Msctf.dll
可再发行组件 Windows 2000 专业版上的 TSF 1.0

另请参阅

ITfContext 接口ITfEditSession::D oEditSessionTF_SELECTION 结构ITfContext::SetSelection