Compartilhar via


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

Obtém uma enumeração de intervalos que contêm valores exclusivos da propriedade dentro do intervalo especificado.

Sintaxe

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

Parâmetros

[in] ec

Contém um cookie de edição que identifica o contexto de edição. Isso é obtido de ITfDocumentMgr::CreateContext ou ITfEditSession::D oEditSession.

[out] ppEnum

Ponteiro para um ponteiro de interface IEnumTfRanges que recebe o objeto enumerador. O chamador deve liberar esse objeto quando ele não for mais necessário.

[in] pTargetRange

Ponteiro para uma interface ITfRange que especifica o intervalo para verificar valores de propriedade exclusivos. Esse parâmetro é opcional e pode ser NULL. Para obter mais informações, consulte a seção Comentários.

Valor retornado

Esse método pode retornar um desses valores.

Valor Descrição
S_OK
O método foi bem-sucedido.
E_INVALIDARG
Um ou mais parâmetros são inválidos.
E_OUTOFMEMORY
Ocorreu uma falha de alocação de memória.
E_FAIL
Ocorreu um erro não especificado.
Nota Se um aplicativo não implementar ITextStoreACP::FindNextAttrTransition, ITfReadOnlyProperty::EnumRanges falhará com E_FAIL.
 
TF_E_NOLOCK
O contexto de edição identificado por ec não tem um bloqueio somente leitura ou leitura/gravação.

Comentários

Nota: Se um aplicativo não implementar ITextStoreACP::FindNextAttrTransition, ITfReadOnlyProperty::EnumRanges falhará com E_FAIL.

O enumerador obtido por esse método conterá um intervalo para cada valor exclusivo, incluindo valores vazios, da propriedade especificada. Por exemplo, uma propriedade de cor hipotética pode ser aplicada ao seguinte texto marcado:


COLOR:      RR      GGGGGGGG
TEXT:  this is some colored text

Quando ITfReadOnlyProperty::EnumRanges é chamado com pTargetRange definido para esse intervalo, o enumerador conterá cinco intervalos.

Índice de intervalo Valor da propriedade Color Texto do Intervalo
0 <empty> "this"
1 R "é"
2 <empty> " some "
3 G "colorido"
4 <empty> "texto"
 

Se pTargetRange for NULL, o enumerador começará e terminará com o primeiro e o último intervalo que contém um valor de propriedade não vazio no contexto. Especificar NULL para pTargetRange no exemplo acima resultaria em um enumerador com três intervalos.

Índice de intervalo Valor da propriedade Color Texto dentro do intervalo
0 R "é"
1 <empty> " some "
2 G "colorido"
 

Os intervalos enumerados começarão e terminarão com as âncoras inicial e final de pTargetRange, mesmo que uma das âncoras esteja posicionada no meio de uma propriedade.

Requisitos

   
Cliente mínimo com suporte Windows 2000 Professional [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte Windows 2000 Server [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho msctf.h
DLL Msctf.dll
Redistribuível TSF 1.0 no Windows 2000 Professional

Confira também

IEnumTfRanges

ITfDocumentMgr::CreateContext

ITfEditSession::D oEditSession

ITfRange

ITfReadOnlyProperty