共用方式為


ITfRange::SetText 方法 (msctf.h)

ITfRange::SetText方法會取代文字範圍所涵蓋的內容。 如果是空範圍物件,此方法會導致插入範圍的位置。 如果新內容是空字串 (cch = 0) ,則方法會刪除範圍內現有的內容。

語法

HRESULT SetText(
  [in] TfEditCookie ec,
  [in] DWORD        dwFlags,
  [in] const WCHAR  *pchText,
  [in] LONG         cch
);

參數

[in] ec

識別從 ITfDocumentMgr::CreateCoNtextITfEditSession::D oEditSession取得的編輯內容。

[in] dwFlags

指定修正內容的選擇性行為。 如果設定為 TF_ST_CORRECTION的值,則作業會更正現有的內容,而不是建立新的內容,而且會保留原始文字屬性。

[in] pchText

緩衝區的指標,其中包含要取代範圍內容的文字。

[in] cch

包含 pchText中的字元數。

傳回值

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

描述
S_OK
此方法成功。
E_FAIL
發生未指定的錯誤。
E_INVALIDARG
一或多個參數無效。
TF_E_COMPOSITION_REJECTED
內容擁有者拒絕預設組合。
TF_E_NOLOCK
ec參數的值是不正確 Cookie,或者呼叫端沒有讀取/寫入鎖定。
TF_E_RANGE_NOT_COVERED
範圍不在呼叫端的作用中組合內。

備註

當某個範圍涵蓋多個區域時,請分別在每個區域上呼叫 ITfRange::SetText 。 否則,方法可能會失敗。

根據預設,文字服務會啟動和結束涵蓋範圍的暫存組合,以確保內容擁有者一致地辨識已編輯文字的組合。 如果組合擁有者拒絕預設組合,則方法會傳回TF_E_COMPOSITION_REJECTED。 只有在呼叫端尚未啟動預設組合時,才會建立預設組合。 如果呼叫端有作用中的組合,呼叫就會失敗。

TF_CHAR_EMBEDDED物件預留位置字元可能不會傳遞至這個方法。 應該改用ITfRange::InsertEmbedded

若要插入文字, ITFInsertAtSelection:InsertTextAtSelection 方法不需要配置選取範圍,並避免範圍符合選取範圍的需求。

需求

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

另請參閱

ITFInsertAtSelection:InsertTextAtSelection

ITfDocumentMgr::CreateCoNtext

ITfEditSession::D oEditSession

ITfRange

ITfRange::GetText

ITfRange::InsertEmbedded

其他架構常數

文字存放區