Метод 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
Указатель на вставляемый объект передачи данных.
Возвращаемое значение
Этот метод может возвращать одно из этих значений.
Значение | Описание |
---|---|
|
Метод выполнен успешно. |
|
Реализующее приложение не предоставляет внедренные объекты в своем потоке. |
|
Владелец контекста отклонил композицию по умолчанию. |
|
Владелец контекста не может обработать указанный тип объекта. |
|
Значение параметра ec является недопустимым файлом cookie или у вызывающего объекта нет блокировки только для чтения. |
|
Вызывающий объект уже имеет активную композицию, но диапазон расположен над текстом, не охваченным композицией. |
|
Документ или расположение диапазона не могут быть изменены. |
Комментарии
Используйте этот метод для вставки объектов в текстовый поток, так как символ заполнителя объекта 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 |