Поделиться через


Метод ITfRange::InsertEmbedded (msctf.h)

Метод ITfRange::InsertEmbedded вставляет объект в расположение начальной привязки диапазона текста.

Синтаксис

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

Параметры

[in] ec

Измените файл cookie, полученный из ITfDocumentMgr::CreateContext или ITfEditSession::D oEditSession.

[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. Этот метод смоделирован по образцу API буфера обмена OLE с приложениями, использующими pDataObject , как и IDataObject , возвращенный из OleGetClipboard.

Если диапазон охватывает несколько регионов, метод должен вызываться для каждого региона отдельно. В противном случае метод может завершиться ошибкой.

По умолчанию текстовые службы запускают и заканчивают временную композицию, охватывающую диапазон, чтобы владельцы контекста последовательно распознали композиции в измененном тексте. Если владелец композиции отклоняет композицию по умолчанию, метод возвращает TF_E_COMPOSITION_REJECTED. Композиции по умолчанию создаются только в том случае, если вызывающий объект еще не запустил одну из них. Если вызывающий объект имеет активную композицию, вызов завершается ошибкой.

Чтобы заранее определить, поддерживает ли владелец контекста вставку определенного объекта, используйте ITfQueryEmbedded::QueryInsertEmbedded.

Требования

   
Минимальная версия клиента Windows 2000 Профессиональная [классические приложения | Приложения UWP]
Минимальная версия сервера Windows 2000 Server [классические приложения | Приложения UWP]
Целевая платформа Windows
Header msctf.h
DLL Msctf.dll
Распространяемые компоненты TSF 1.0 в Windows 2000 Professional

См. также раздел

Idataobject

ITfDocumentMgr::CreateContext

ITfEditSession::D oEditSession

ITfRange

ITfRange::GetEmbedded

Прочие константы платформы

Текстовые хранилища