Share via


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

El método ITfRange::SetText reemplaza el contenido cubierto por el intervalo de texto. Para un objeto range vacío, el método da como resultado una inserción en la ubicación del intervalo. Si el nuevo contenido es una cadena vacía (cch = 0), el método elimina el contenido existente dentro del intervalo.

Sintaxis

HRESULT SetText(
  [in] TfEditCookie ec,
  [in] DWORD        dwFlags,
  [in] const WCHAR  *pchText,
  [in] LONG         cch
);

Parámetros

[in] ec

Identifica el contexto de edición obtenido de ITfDocumentMgr::CreateContext o ITfEditSession::D oEditSession.

[in] dwFlags

Especifica el comportamiento opcional para la corrección del contenido. Si se establece en el valor de TF_ST_CORRECTION, la operación es una corrección del contenido existente, no una creación de contenido nuevo y se conservan las propiedades de texto original.

[in] pchText

Puntero a un búfer que contiene el texto para reemplazar el contenido del intervalo.

[in] cch

Contiene el número de caracteres en pchText.

Valor devuelto

Este método puede devolver uno de estos valores.

Valor Descripción
S_OK
Método realizado correctamente.
E_FAIL
Se ha producido un error no especificado.
E_INVALIDARG
Uno o varios parámetros no son válidos.
TF_E_COMPOSITION_REJECTED
El propietario del contexto rechazó una composición predeterminada.
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 lectura y escritura.
TF_E_RANGE_NOT_COVERED
El intervalo no está dentro de la composición activa del autor de la llamada.

Comentarios

Cuando un intervalo cubre varias regiones, llame a ITfRange::SetText en cada región por separado. De lo contrario, el método puede producir un error.

De forma predeterminada, los servicios de texto comienzan y finalizan una composición temporal que cubre el intervalo, para asegurarse de que los propietarios de 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.

Es posible que el carácter de marcador de posición del objeto TF_CHAR_EMBEDDED no se pase a este método. ITfRange::InsertEmbedded debe usarse en su lugar.

Para insertar texto, el método ITFInsertAtSelection:InsertTextAtSelection no requiere que se asigne un intervalo de selección y evite el requisito de que el intervalo coincida con la selección.

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

ITFInsertAtSelection:InsertTextAtSelection

ITfDocumentMgr::CreateContext

ITfEditSession::D oEditSession

ITfRange

ITfRange::GetText

ITfRange::InsertEmbedded

Constantes de marco varios

Almacenes de texto