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
指定取代文字中的字元數。
傳回值
這個方法可以傳回下列其中一個值。
值 | 描述 |
---|---|
|
此方法成功。 |
|
方法無法具現化其中一個錨點 paStart 或 paEnd。 |
|
paStart 或 paEnd 的位置不在文件文字之外。 |
|
呼叫端沒有讀取/寫入鎖定。 |
|
檔是唯讀的。 無法修改內容。 |
|
嘗試跨區域界限修改文字。 |
備註
應用程式應該先使用 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::InsertEmbedded