次の方法で共有


ITfContextOwner::GetACPFromPoint メソッド (msctf.h)

ITfContextOwner::GetACPFromPoint メソッドは、画面座標内のポイントをアプリケーションの文字位置に変換します。

構文

HRESULT GetACPFromPoint(
  [in]  const POINT *ptScreen,
  [in]  DWORD       dwFlags,
  [out] LONG        *pacp
);

パラメーター

[in] ptScreen

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

[in] dwFlags

文字境界ボックスに対するポイントの画面座標に基づいて返す文字位置を指定します。 既定では、返される文字位置は、ポイントの画面座標を含む文字境界ボックスです。 ポイントが文字の境界ボックスの外側にある場合、メソッドは NULL またはTF_E_INVALIDPOINTを返します。

このパラメーターにGXFPF_ROUND_NEAREST フラグを指定し、ポイントの画面座標が文字境界ボックスに含まれている場合、返される文字位置はポイントの画面座標に最も近い境界エッジになります。

このパラメーターにGXFPF_NEAREST フラグを指定し、ポイントの画面座標が文字境界ボックスに含まれていない場合は、最も近い文字位置が返されます。

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

[out] pacp

ポイントの画面座標に対応する文字位置を受け取ります

戻り値

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

説明
S_OK
メソッドは正常に実行されました。
TS_E_INVALIDPOINT
ptScreen パラメーターは、任意の文字の境界ボックス内にありません。
TS_E_NOLAYOUT
アプリケーションでテキスト レイアウトが計算されていません。

注釈

ポイント 1 は文字境界ボックス内にあり、ポイント 2 は文字境界ボックスの外側にあります。 図を使用して、 dwFlags パラメーターで使用されるフラグに基づいて返される文字位置を確認します。

ポイント 1

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

要件

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

こちらもご覧ください

ITextStoreACP::GetACPFromPoint

ITfContextOwner

ITfContextView::GetRangeFromPoint

TsViewCookie