Share via


Método ITfRange::InsertEmbedded (msctf.h)

El método ITfRange::InsertEmbedded inserta un objeto en la ubicación del delimitador inicial del intervalo de texto.

Sintaxis

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

Parámetros

[in] ec

Edite la cookie obtenida de ITfDocumentMgr::CreateContext o ITfEditSession::D oEditSession.

[in] dwFlags

Campos de bits que especifican cómo debe producirse la inserción. Si se establece TF_IE_CORRECTION , la operación es una corrección para que otros servicios de texto puedan conservar los datos asociados al texto original.

[in] pDataObject

Puntero al objeto de transferencia de datos que se va a insertar.

Valor devuelto

Este método puede devolver uno de estos valores.

Valor Descripción
S_OK
Método realizado correctamente.
E_NOTIMPL
La aplicación de implementación no expone objetos incrustados en su secuencia.
TF_E_COMPOSITION_REJECTED
El propietario del contexto rechazó una composición predeterminada.
TF_E_FORMAT
El propietario del contexto no puede controlar el tipo de objeto especificado.
TF_E_NOLOCK
El valor del parámetro ec es una cookie no válida o el autor de la llamada no tiene un bloqueo de solo lectura.
TF_E_RANGE_NOT_COVERED
El autor de la llamada ya tiene una composición activa, pero el intervalo se coloca sobre el texto no cubierto por la composición.
TF_E_READONLY
No se puede modificar el documento o la ubicación del intervalo.

Comentarios

Utilice este método para insertar objetos en la secuencia de texto, ya que el carácter de marcador de posición del objeto TF_CHAR_EMBEDDED no se puede pasar a ITfRange::SetText. Este método se modela después de la API del Portapapeles OLE, con aplicaciones que usan pDataObject como lo harían con un IDataObject devuelto desde OleGetClipboard.

Cuando un intervalo abarca varias regiones, se debe llamar al método en cada región por separado. De lo contrario, es posible que se produzca un error en el método.

De forma predeterminada, los servicios de texto inician y finalizan una composición temporal que abarca el intervalo, para asegurarse de que los propietarios del contexto reconocen de forma coherente las composiciones sobre el texto editado. Si el propietario de la composición rechaza una composición predeterminada, el método devuelve TF_E_COMPOSITION_REJECTED. Las composiciones predeterminadas solo se crean si el autor de la llamada aún no ha iniciado una. Si el autor de la llamada tiene una composición activa, se produce un error en la llamada.

Para determinar de antemano si un propietario de contexto admite la inserción de un objeto determinado, use ITfQueryEmbedded::QueryInsertEmbedded.

Requisitos

   
Cliente mínimo compatible Windows 2000 Professional [aplicaciones de escritorio | Aplicaciones para UWP]
Servidor mínimo compatible Windows 2000 Server [aplicaciones de escritorio | Aplicaciones para UWP]
Plataforma de destino Windows
Encabezado msctf.h
Archivo DLL Msctf.dll
Redistribuible TSF 1.0 en Windows 2000 Professional

Consulte también

IDataObject

ITfDocumentMgr::CreateContext

ITfEditSession::D oEditSession

ITfRange

ITfRange::GetEmbedded

Constantes de marco varios

Almacenes de texto