Share via


iTextStoreAnchor::SetText 方法 (textstor.h)

ITextStoreAnchor::SetText 方法會設定兩個提供的錨點位置之間的文字選取範圍。

語法

HRESULT SetText(
  [in] DWORD       dwFlags,
  [in] IAnchor     *paStart,
  [in] IAnchor     *paEnd,
  [in] const WCHAR *pchText,
  [in] ULONG       cch
);

參數

[in] dwFlags

如果設定為 TS_ST_CORRECTION 的值,則文字是現有內容的轉換 (更正) ,而 (元數據) 的任何特殊文字標記信息都會保留,例如.wav檔案數據或語言標識符。 用戶端會定義要保留的標記信息類型。

[in] paStart

要取代之文字範圍開頭之錨點的指標。

[in] paEnd

要取代之文字範圍結尾之錨點的指標。 必須一律遵循或位於 與 paStart 相同的位置。

[in] pchText

取代文字的指標。 文字字串不一定是 NULL 終止,因為文字字元計數是在 cch 參數中指定。

[in] cch

指定取代文字中的字元數。

傳回值

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

描述
S_OK
此方法成功。
E_FAIL
方法無法具現化其中一個錨點 paStartpaEnd
TS_E_INVALIDPOS
paStartpaEnd 的位置不在文件文字之外。
TS_E_NOLOCK
呼叫端沒有讀取/寫入鎖定。
TS_E_READONLY
檔是唯讀的。 無法修改內容。
TS_E_REGION
嘗試跨區域界限修改文字。

備註

應用程式應該先使用 ITextStoreAnchor::InsertTextAtSelection 來啟動組合。 ITextStoreAnchor::SetText 應該只在現有的組合中使用。 如果在呼叫 SetText 時沒有作用中的組合,TSF 管理員會建立一個足以包裝 SetText 呼叫的撰寫。

呼叫端必須保存透過 ITextStoreAnchor::RequestLock 取得的寫入鎖定。 否則, ITextStoreAnchor::SetText 將會失敗並TS_E_NOLOCK。

如果 paStart 位於與 paEnd相同的位置,則作業為插入,且不會移除任何現有的文字。

TS_CHAR_EMBEDDED無法傳遞至這個方法。 針對 內嵌物件,請改用 ITextStoreAnchor::InsertEmbedded

如果取代的文字範圍涵蓋任何區域界限,這個方法將會失敗。 相反地,呼叫端應該對 方法進行多個呼叫,每個區域各一個。

規格需求

需求
最低支援的用戶端 Windows 2000 專業版 [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器 Windows 2000 Server [傳統型應用程式 |UWP 應用程式]
目標平台 Windows
標頭 textstor.h
Dll Msctf.dll
可轉散發套件 Windows 2000 專業版上的 TSF 1.0

另請參閱

成分

內嵌物件

ITextStoreAnchor

ITextStoreAnchor::InsertEmbedded

ITextStoreAnchor::RequestLock

ITextStoreAnchorSink::OnTextChange

其他文字存放區常數