Share via


Método ITfReadOnlyProperty::EnumRanges (msctf.h)

Obtiene una enumeración de intervalos que contienen valores únicos de la propiedad dentro del intervalo especificado.

Sintaxis

HRESULT EnumRanges(
  [in]  TfEditCookie  ec,
  [out] IEnumTfRanges **ppEnum,
  [in]  ITfRange      *pTargetRange
);

Parámetros

[in] ec

Contiene una cookie de edición que identifica el contexto de edición. Esto se obtiene de ITfDocumentMgr::CreateContext o ITfEditSession::D oEditSession.

[out] ppEnum

Puntero a un puntero de interfaz IEnumTfRanges que recibe el objeto enumerador. El autor de la llamada debe liberar este objeto cuando ya no sea necesario.

[in] pTargetRange

Puntero a una interfaz ITfRange que especifica el intervalo que se va a buscar valores de propiedad únicos. Este parámetro es opcional y puede ser NULL. Para obtener más información, vea la sección Comentarios.

Valor devuelto

Este método puede devolver uno de estos valores.

Valor Descripción
S_OK
Método realizado correctamente.
E_INVALIDARG
Uno o varios parámetros no son válidos.
E_OUTOFMEMORY
Error de asignación de memoria.
E_FAIL
Se ha producido un error no especificado.
Nota Si una aplicación no implementa ITextStoreACP::FindNextAttrTransition, ITfReadOnlyProperty::EnumRanges produce un error E_FAIL.
 
TF_E_NOLOCK
El contexto de edición identificado por ec no tiene un bloqueo de solo lectura o de lectura y escritura.

Comentarios

Nota: Si una aplicación no implementa ITextStoreACP::FindNextAttrTransition, ITfReadOnlyProperty::EnumRanges produce un error E_FAIL.

El enumerador obtenido por este método contendrá un intervalo para cada valor único, incluidos los valores vacíos, de la propiedad especificada. Por ejemplo, se puede aplicar una propiedad de color hipotética al siguiente texto marcado:


COLOR:      RR      GGGGGGGG
TEXT:  this is some colored text

Cuando se llama a ITfReadOnlyProperty::EnumRanges con pTargetRange establecido en este intervalo, el enumerador contendrá cinco intervalos.

Índice de rangos Valor de la propiedad Color Texto del intervalo
0 <empty> "esto"
1 R "is"
2 <empty> " algunos "
3 G "colored"
4 <empty> "text"
 

Si pTargetRange es NULL, el enumerador comenzará y finalizará con el primer y último intervalo que contiene un valor de propiedad no vacío en el contexto. Si se especifica NULL para pTargetRange en el ejemplo anterior, se produciría un enumerador con tres intervalos.

Índice de rangos Valor de la propiedad Color Texto dentro del intervalo
0 R "is"
1 <empty> " algunos "
2 G "colored"
 

Los intervalos enumerados comenzarán y terminarán con los delimitadores inicial y final de pTargetRange, incluso si cualquiera de los delimitadores está situado en medio de una propiedad.

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

IEnumTfRanges

ITfDocumentMgr::CreateContext

ITfEditSession::D oEditSession

ITfRange

ITfReadOnlyProperty