ITextStoreACP::SetText 方法 (textstor.h)

ITextStoreACP::SetText 方法會將文字選取範圍設定為提供的字元位置。

語法

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
在文字插入檔之前,起始的應用程式字元位置。
acpOldEnd
文字插入檔前的結束位置。 此值與插入點 的 acpStart 相同。 如果此值與 acpStart 不同,則會在插入文字之前選取文字。
acpNewEnd
文字插入之後的結束位置。

傳回值

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

描述
S_OK
此方法成功。
TS_E_INVALIDPOS
acpStartacpEnd 參數位於文件文字之外。
TS_E_NOLOCK
呼叫端沒有讀取/寫入鎖定。
TS_E_READONLY
檔是唯讀的。 無法修改內容。
TS_E_REGION
嘗試跨區域界限修改文字。

備註

應用程式應該先使用 ITextStoreACP::InsertTextAtSelection 來啟動組合。 ITextStoreACP::SetText 應該只在現有的組合內使用。 如果呼叫 SetText 時沒有作用中的組合,TSF 管理員會建立一個組合,其持續的時間夠長,足以包裝 對 SetText 的呼叫。

acpStartacpEnd 字元位置不能超出文件範圍。

應用程式不應該呼叫 ITextStoreACPSink::OnTextChange 方法,以回應此方法。

這個方法應該呼叫 ITextStoreACP::SetSelection 方法,以選取要變更的文字。 成功執行 ITextStoreACP::SetSelection 方法之後,這個方法接著會呼叫 ITextStoreACP::InsertTextAtSelection 方法來執行實際的文字變更。

規格需求

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

另請參閱

成分

ITextStoreACP

ITextStoreACPSink::OnTextChange

其他文字存放區常數

TS_TEXTCHANGE