共用方式為


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 設定為零。

[in] paHaltAnchor

封鎖班次之錨點的參考。 設定為 NULL 以避免封鎖班次。

傳回值

這個方法可以傳回下列其中一個值。

描述
S_OK
此方法成功。
E_FAIL
班次失敗。
E_INVALIDARG
輸入參數值無效。
E_NOTIMPL
此方法中未實 作 dwFlags 參數值。

備註

cchReqpcch 參數可以是負數,這表示文字數據流中的向後移位,或正向移位。 如果遇到檔的開頭或結尾、遇到區域界限,或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 專業版上的 TSF 1.0

另請參閱

IAnchor

IAnchor::ShiftRegion