次の方法で共有


ITextStoreAnchor::GetAnchorFromPoint メソッド (textstor.h)

ITextStoreAnchor::GetAnchorFromPoint メソッドは、画面座標内のポイントを、対応する場所に配置されたアンカーに変換します。

構文

HRESULT GetAnchorFromPoint(
  [in]  TsViewCookie vcView,
  [in]  const POINT  *ptScreen,
  [in]  DWORD        dwFlags,
  [out] IAnchor      **ppaSite
);

パラメーター

[in] vcView

コンテキスト ビューを指定します。

[in] ptScreen

ポイントの画面座標を持つ POINT 構造体へのポインター。

[in] dwFlags

文字境界ボックスに対するポイントの相対的な画面座標に基づいて返すアンカー位置を指定します。 既定では、返されるアンカー位置は、ポイントの画面座標を含む文字境界ボックスです。 ポイントが文字境界ボックスの外側にある場合、メソッドは NULL または TF_E_INVALIDPOINTを返します。 このパラメーターのその他のビット フラグは次のとおりです。

ビット フラグを組み合わせることができます。

説明
GXFPF_ROUND_NEAREST
ポイントの画面座標が文字境界ボックスに含まれている場合は、ポイントの画面座標に最も近い境界エッジでアンカーが返されます。
GXFPF_NEAREST
ポイントの画面座標が文字境界ボックスに含まれていない場合は、最も近い文字位置のアンカーが返されます。

[out] ppaSite

画面座標 ptScreen に対応する位置にあるアンカー オブジェクトへのポインター。

戻り値

このメソッドは、これらの値のいずれかを返すことができます。

説明
S_OK
メソッドは正常に実行されました。
E_FAIL
メソッドが失敗しました。
E_INVALIDARG
1 つ以上の入力パラメーターが無効です。
E_OUTOFMEMORY
指定した場所でアンカーをインスタンス化しようとしましたが失敗しました。
TS_E_INVALIDPOINT
ptScreen パラメーターは、任意の文字の境界ボックス内にありません。
TS_E_NOLAYOUT
アプリケーションではまだテキスト レイアウトが計算されていません。

解説

ポイント 1 は文字境界ボックス内にあり、ポイント 2 は文字境界ボックスの外側にあります。 ポイント 1 の画面座標では、アンカー ppaSite のオフセット (文字位置) が既定で 0 になります。または、ポイント 1 の画面座標が文字位置 0 の文字境界ボックス内にあるため、 dwFlags パラメーターが GXFPF_NEAREST に設定されている場合。 dwFlags パラメーターがポイント 1 のGXFPF_ROUND_NEARESTに設定されている場合、ポイント 1 の画面座標は範囲位置 1 に最も近いため、アンカー オフセットは 1 になります。 範囲位置 1 は、文字位置 1 の開始範囲の位置です。

ポイント 2 の画面座標の場合、メソッドは既定で TF_E_INVALIDPOINT を返します。または、ポイント 2 の画面座標が文字境界ボックスの外側にあるため、 dwFlags パラメーターが GXFPF_NEAREST に設定されている場合は を返します。 dwFlags パラメーターがGXFPF_ROUND_NEARESTに設定されている場合、ポイント 2 画面座標に最も近い文字位置が文字位置 1 であるため、ポイント 2 の画面座標によってアンカー オフセットが 1 になります。

ポイント 1

  • Default-- アンカー オフセット = 0 --画面座標ポイントは、文字位置 0 の文字境界ボックス内にあります。
  • -- GXFPF_ROUND_NEARESTアンカー オフセット = 1 - ポイントの画面座標は、文字位置 1 の開始範囲の位置である Range Position 1 に最も近くなります。
  • -- GXFPF_NEARESTアンカー オフセット = 0 --ポイントが文字位置 0 の文字境界ボックス内にあるため、既定の動作が発生します。
ポイント 2
  • Default-- hr = TF_E_INVALIDPOINT --ポイントの画面座標が文字境界ボックスの外側にあります。
  • GXFPF_ROUND_NEAREST-- hr = TF_E_INVALIDPOINT --ポイントの画面座標が文字境界ボックスの外側にあるため、既定の動作が発生します。
  • GXFPF_NEAREST-- アンカー オフセット = 1 --ポイントの画面座標に最も近い文字位置は文字位置 1 です。

要件

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

関連項目

GXFPF_* 定数

ITextStoreAnchor

ITfContextView::GetRangeFromPoint

マネージャーの戻り値

TsViewCookie