共用方式為


ITfRange::AdjustForInsert 方法 (msctf.h)

ITfRange::AdjustForInsert 方法會展開或合約文字範圍,以調整文字插入。

語法

HRESULT AdjustForInsert(
  [in]  TfEditCookie ec,
  [in]  ULONG        cchInsert,
  [out] BOOL         *pfInsertOk
);

參數

[in] ec

編輯從 ITfDocumentMgr::CreateContextITfEditSession::D oEditSession 取得的 Cookie。

[in] cchInsert

插入文字的字元計數。 此計數用於 ITfRange::SetText 的 futurecall。 如果字元計數未知,可以使用 0。

[out] pfInsertOk

旗標的指標,指出內容擁有者將接受 (TRUE) 或拒絕插入) (FALSE

傳回值

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

描述
S_OK
此方法成功。
E_FAIL
方法失敗。
E_INVALIDARG
一或多個參數無效。
E_NOTIMPL
應用程式無法取代選取範圍。
TF_E_NOLOCK
ec 參數中的值是無效的 Cookie,或呼叫端沒有唯讀鎖定。

備註

這個方法應該用來準備範圍,以在編輯開始之前起始新的組合。 只有當文字未插入目前選取範圍時,才應該使用它。 ITFInsertAtSelection:InsertTextAtSelectionITfInsertAtSelection::InsertEmbeddedAtSelection 是當文字插入目前選取範圍時使用的正確方法。

內容擁有者可以使用此方法來保留行為,並協助維護一致的用戶體驗。 例如,內容中的特定字元或物件可以從修改中保留,或可支持篩選。

修改現有的組合時,不需要這個方法。 您可以直接呼叫 ITfRange::SetText 來修改呼叫者先前輸入的文字。

結束時,如果 *pfInsertOk 設定為 FALSE,未來會呼叫 ITfRange::SetTextITfRange::InsertEmbedded, 且此範圍可能會失敗。 否則, *pfInsertOk 會設定為 TRUE,而且範圍開始錨點或結束錨點可以視內容擁有者來重新置放。

規格需求

需求
最低支援的用戶端 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

ITfInsertAtSelection::InsertEmbeddedAtSelection

ITfRange

ITfRange::InsertEmbedded

ITfRange::SetText

文字存放區