共用方式為


ITfRange::InsertEmbedded 方法 (msctf.h)

ITfRange::InsertEmbedded方法會在文字範圍的起始錨點位置插入物件。

語法

HRESULT InsertEmbedded(
  [in] TfEditCookie ec,
  [in] DWORD        dwFlags,
  [in] IDataObject  *pDataObject
);

參數

[in] ec

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

[in] dwFlags

指定插入方式的位欄位。 如果 已設定TF_IE_CORRECTION ,作業會是更正作業,讓其他文字服務可以保留與原始文字相關聯的資料。

[in] pDataObject

要插入之資料傳輸物件的指標。

傳回值

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

描述
S_OK
此方法成功。
E_NOTIMPL
實作應用程式不會在其資料流程中公開内嵌物件。
TF_E_COMPOSITION_REJECTED
內容擁有者拒絕預設組合。
TF_E_FORMAT
內容擁有者無法處理指定的物件類型。
TF_E_NOLOCK
ec參數的值是不正確 Cookie,或者呼叫端沒有唯讀鎖定。
TF_E_RANGE_NOT_COVERED
呼叫端已經有作用中的組合,但範圍會放在組合未涵蓋的文字上。
TF_E_READONLY
無法修改檔或範圍的位置。

備註

使用這個方法可將物件插入文字資料流程,因為 無法將TF_CHAR_EMBEDDED 物件預留位置傳遞至 ITfRange::SetText。 這個方法會在 OLE 剪貼簿 API 之後建立模型,並搭配使用 pDataObject 的應用程式,如同從 OleGetClipboard 傳回的 IDataObject 一樣。

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

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

若要事先判斷內容擁有者是否支援插入特定物件,請使用 ITfQueryEmbedded::QueryInsertEmbedded

需求

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

另請參閱

IDataObject

ITfDocumentMgr::CreateCoNtext

ITfEditSession::D oEditSession

ITfRange

ITfRange::GetEmbedded

其他架構常數

文字存放區