次の方法で共有


ITfContext::GetSelection メソッド (msctf.h)

文書内の選択範囲を取得します。

構文

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

パラメーター

[in] ec

編集セッションを識別する編集 Cookie が含まれています。 これは、 ITfEditSession::D oEditSession に渡される値です。

[in] ulIndex

取得する最初の選択範囲の 0 から始まるインデックスを指定します。 既定の選択範囲を取得するには、TF_DEFAULT_SELECTIONを使用します。 TF_DEFAULT_SELECTIONを使用する場合は、1 つの選択のみが取得されます。

[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
1 つ以上のパラメーターが無効です。
E_OUTOFMEMORY
メモリ割り当てエラーが発生しました。

解説

選択範囲は、テキストの強調表示された範囲、または範囲が空の場合は挿入ポイントであり、文書内のユーザーフォーカス領域を識別します。

このメソッドが成功した場合、呼び出し元は、取得したすべてのTF_SELECTION構造体の範囲メンバーを解放する必要があります。

通常、コンテキストは 1 つの選択のみをサポートします。 ただし、コンテキストで複数の同時選択をサポートすることは可能です。 このメソッドは、複数の選択を取得するために使用できます。


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 Professional [デスクトップ アプリ |UWP アプリ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリ |UWP アプリ]
対象プラットフォーム Windows
ヘッダー msctf.h
[DLL] Msctf.dll
再頒布可能パッケージ Windows 2000 Professional の TSF 1.0

関連項目

ITfContext インターフェイスITfEditSession::D oEditSessionTF_SELECTION 構造体ITfContext::SetSelection