IAnchor::Shift メソッド (textstor.h)

IAnchor::Shift メソッドは、テキスト ストリーム内でアンカーを前方または後方にシフトします。

構文

HRESULT Shift(
  [in]  DWORD   dwFlags,
  [in]  LONG    cchReq,
  [out] LONG    *pcch,
  [in]  IAnchor *paHaltAnchor
);

パラメーター

[in] dwFlags

アンカーの配置を回避するために使用されるビット フィールド。

意味
TS_SHIFT_COUNT_ONLY
アンカーはシフトされません。 フラグが設定されていない場合 (dwFlags = 0)、アンカーは他のパラメーター設定で指定されているようにシフトされます。

[in] cchReq

テキスト ストリーム内でアンカーを移動する文字数。

[out] pcch

テキスト ストリーム内で移動された実際の文字数。 失敗した場合、このメソッドは pcch を 0 に設定します。

[in] paHaltAnchor

シフトをブロックするアンカーへの参照。 シフトをブロックしないように するには、NULL に設定します。

戻り値

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

説明
S_OK
メソッドは正常に実行されました。
E_FAIL
シフトに失敗しました。
E_INVALIDARG
入力パラメーター値が無効です。
E_NOTIMPL
dwFlags パラメーターの値は、このメソッドでは実装されていません。

注釈

cchReq パラメーターと pcch パラメーターには負の値を指定できます。つまり、テキスト ストリーム内で後方にシフトするか、正の場合は前方にシフトします。 ドキュメントの先頭または末尾が見つかった場合、領域の境界が検出された場合、または paHaltAnchor がシフトをブロックするアンカーを受け取った場合、シフトされる実際の文字数は cchReq 未満になる可能性があります。

paHaltAnchor がシフトをブロックするアンカーを受け取った場合、アプリケーションは paHaltAnchor が占める位置のシフトを切り捨てます。paHaltAnchor がシフトの対象となるテキストのスパン内にない場合、シフトとは関連性がなく、無視されます。

たとえば、 paHaltAnchor によって参照されるアンカーがストリーム内のアンカーより 8 文字先にあり、クライアントが Shift (0、10、pcch、paHaltAnchor) を呼び出した場合、終了時にアンカーは 8 文字しか移動しなくなります。 paHaltAnchor によって参照されるアンカーが移動する現在のアンカーと等しい場合、Shift はアンカーをまったく移動せずに正常に返されます。 この場合 、pcch は 0 になります。

アンカーシフトは、ドキュメントの先頭または末尾が見つかったかのように、常に領域の境界によってブロックされます。 これは、実際のシフト pcch が要求されたシフト cchReq よりも絶対値が小さい場合に、終了時に示されます。 この場合、クライアントは IAnchor::ShiftRegion を使用して、アンカーを隣接するリージョンにシフトできます。

要件

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

こちらもご覧ください

IAnchor

IAnchor::ShiftRegion