IAnchor::Shift 方法 (textstor.h)
IAnchor::Shift 方法會在文字數據流中向前或向後移動錨點。
語法
HRESULT Shift(
[in] DWORD dwFlags,
[in] LONG cchReq,
[out] LONG *pcch,
[in] IAnchor *paHaltAnchor
);
參數
[in] dwFlags
用來避免錨點定位的位欄位元。
值 | 意義 |
---|---|
|
錨點未移位。 如果未設定旗標 (dwFlags = 0) ,錨點將會依其他參數設定所指定而移位。 |
[in] cchReq
要移動文字數據流內錨點的字元數。
[out] pcch
在文字數據流內移動的實際字元數。 如果方法失敗,方法會將 pcch 設定為零。
[in] paHaltAnchor
封鎖班次之錨點的參考。 設定為 NULL 以避免封鎖班次。
傳回值
這個方法可以傳回下列其中一個值。
值 | 描述 |
---|---|
|
此方法成功。 |
|
班次失敗。 |
|
輸入參數值無效。 |
|
此方法中未實 作 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 專業版上的 TSF 1.0 |