ITextStoreACP::GetACPFromPoint メソッド (textstor.h)
ITextStoreACP::GetACPFromPoint メソッドは、画面座標内のポイントをアプリケーションの文字位置に変換します。
構文
HRESULT GetACPFromPoint(
[in] TsViewCookie vcView,
[in] const POINT *ptScreen,
[in] DWORD dwFlags,
[out] LONG *pacp
);
パラメーター
[in] vcView
コンテキスト ビューを指定します。
[in] ptScreen
ポイントの画面座標を持つ POINT 構造体へのポインター。
[in] dwFlags
文字境界ボックスに対するポイントの画面座標に基づいて返す文字位置を指定します。 既定では、返される文字位置は、ポイントの画面座標を含む文字境界ボックスです。 ポイントが文字境界ボックスの外側にある場合、メソッドは NULL または TF_E_INVALIDPOINTを返します。 このパラメーターのその他のビット フラグは次のとおりです。
ビット フラグを組み合わせることができます。
値 | 説明 |
---|---|
|
ポイントの画面座標が文字境界ボックスに含まれている場合、返される文字位置は、ポイントの画面座標に最も近い境界エッジになります。 |
|
ポイントの画面座標が文字境界ボックスに含まれていない場合は、最も近い文字位置が返されます。 |
[out] pacp
ポイントの画面座標に対応する文字位置を受け取ります。
戻り値
このメソッドは、これらの値のいずれかを返すことができます。
値 | 説明 |
---|---|
|
メソッドは正常に実行されました。 |
|
ptScreen パラメーターは、任意の文字の境界ボックス内にありません。 |
|
アプリケーションでテキスト レイアウトが計算されていません。 |
解説
ポイント 1 画面座標では 、既定では pacp パラメーターが 0 になります。ポイント 1 の画面座標が文字位置 0 の文字境界ボックス内にあるため、 dwFlags パラメーターが GXFPF_NEAREST に設定されている場合は 。 ポイント 1 に 対して dwFlags パラメーターがGXFPF_ROUND_NEARESTに設定されている場合、ポイント 1 の画面座標は範囲位置 1 に最も近いため、 pacp パラメーターは 1 です。 範囲位置 1 は、文字位置 1 の開始範囲の位置です。ポイント 2 の画面座標の場合、メソッドは既定で TF_E_INVALIDPOINT を返します。または、ポイント 2 の画面座標が文字境界ボックスの外側にあるため、 dwFlags パラメーターが GXFPF_NEAREST に設定されている場合は を返します。 dwFlags パラメーターがGXFPF_ROUND_NEARESTに設定されている場合、ポイント 2 画面座標に最も近い文字位置が文字位置 1 であるため、ポイント 2 の画面座標によって pacp パラメーターが 1 になります。
ポイント 1
- Default-- pacp = 0 --画面座標ポイントは、文字位置 0 の文字境界ボックス内にあります。
- -- GXFPF_ROUND_NEARESTpacp = 1 --ポイントの画面座標は、文字位置 1 の開始範囲の位置である範囲位置 1 に最も近い位置です。
- -- GXFPF_NEARESTpacp = 0 --ポイントが文字位置 0 の文字境界ボックス内にあるため、既定の動作が発生します。
- Default-- hr = TF_E_INVALIDPOINT --ポイントの画面座標が文字境界ボックスの外側にあります。
- GXFPF_ROUND_NEAREST-- hr = TF_E_INVALIDPOINT --ポイントの画面座標が文字境界ボックスの外側にあるため、既定の動作が発生します。
- GXFPF_NEAREST-- pacp = 1 --ポイントの画面座標に最も近い文字位置は文字位置 1 です。
要件
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | textstor.h |
[DLL] | Msctf.dll |
再頒布可能パッケージ | Windows 2000 Professional 上の TSF 1.0 |
関連項目
ITfContextOwner::GetACPFromPoint