ITextStoreACP2::SetText 方法 (textstor.h)
將文字選取範圍設定為提供的字元位置。
語法
HRESULT SetText(
[in] DWORD dwFlags,
[in] LONG acpStart,
[in] LONG acpEnd,
[in] const WCHAR *pchText,
[in] ULONG cch,
[out] TS_TEXTCHANGE *pChange
);
參數
[in] dwFlags
如果設定為 TS_ST_CORRECTION的值,則文字是現有內容的轉換 (修正) ,而且會保留任何特殊文字標記資訊 (元數據) ,例如.wav檔案數據或語言標識符。 用戶端會定義要保留的標記信息類型。
[in] acpStart
指定要取代之文字的起始字元位置。
[in] acpEnd
指定要取代之文字的結束字元位置。 如果值為 1,則會忽略此參數。
[in] pchText
指定取代文字的指標。 文字字串不一定是 NULL 終止,因為文字字元計數是在 cch 參數中指定。
[in] cch
指定取代文字中的字元數。
[out] pChange
具有下列數據的 TS_TEXTCHANGE 結構的指標。
值 | 意義 |
---|---|
|
在文字插入檔之前,起始的應用程式字元位置。 |
|
文字插入檔前的結束位置。 此值與插入點 的 acpStart 相同。 如果此值與 acpStart 不同,則會在插入文字之前選取文字。 |
|
文字插入之後的結束位置。 |
傳回值
這個方法可以傳回其中一個值。
值 | 描述 |
---|---|
|
此方法成功。 |
|
acpStart 或 acpEnd 參數位於文件文字之外。 |
|
呼叫端沒有讀取/寫入鎖定。 |
|
檔是唯讀的。 無法修改內容。 |
|
嘗試跨區域界限修改文字。 |
備註
應用程式應該先使用 InsertTextAtSelection 來啟動組合。 SetText 應該只在現有的組合內使用。 如果呼叫 SetText 時沒有作用中的組合,TSF 管理員會建立一個組合,其持續的時間夠長,足以包裝 對 SetText 的呼叫。
acpStart 和 acpEnd 字元位置不能超出文件範圍。
應用程式不應該呼叫 OnTextChange 方法,以回應這個方法。
這個方法應該呼叫 SetSelection 方法,以選取要變更的文字。 成功執行 SetSelection 方法之後,這個方法接著會呼叫 InsertTextAtSelection 方法來執行實際的文字變更。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 8 [傳統型應用程式 |UWP 應用程式] |
最低支援的伺服器 | Windows Server 2012 [傳統型應用程式 |UWP 應用程式] |
目標平台 | Windows |
標頭 | textstor.h |
Dll | Msctf.dll |