Share via


Interfaz ITfInputScope (inputscope.h)

Los procesadores de entrada de texto usan la interfaz ITfInputScope para obtener el valor InputScope que representa un contexto de documento asociado a una ventana. El ámbito de entrada proporciona reglas para ayudar al reconocimiento de voz y escritura a mano. Por ejemplo, si se usa un cuadro de texto en un formulario para escribir una dirección, el ámbito de entrada de ese cuadro de texto se puede establecer para reconocer y aceptar solo los caracteres que son válidos para una dirección.

El identificador de interfaz es IID_ITfInputScope.

El motor de reconocimiento de escritura a mano y voz usa el contexto del documento y lo establece un procesador de entrada de texto llamando al método SetInputScope . Una aplicación compatible con TSF no llama directamente a SetInputScope , sino que implementa ITextStoreACP o ITfContextOwner para obtener un puntero a ITfInputScope.

Para obtener el puntero a la interfaz ITfInputScope , el procesador de entrada de texto o la aplicación compatible con TSF llama a ITfContext::GetAppProperty, pasando GUID_PROP_INPUTSCOPE y un puntero a la interfaz ITFReadOnlyProperty , como en el ejemplo siguiente.


extern const GUID GUID_PROP_INPUTSCOPE;
// 
// The TIP can call this to get the input scope of the document mgr. 
// 
HRESULT GetInputScope(ITfContext *pic, ITfRange *pRange, TfEditCookie ec, ITfInutScope **ppiscope){
    ITFReadOnlyProperty *prop;
    HRESULT hr;
    If (SUCCEEDED(hr = pic->GetAppProperty(GUID_PROP_INPUTSCOPE, &prop))
    {   VARIANT var;
        If (SUCCEEDED(hr = prop->GetValue(ec, pRange, &var)))
        {  hr = var.punkVal->QueryInterface(IID_ITfInputScope, (void **)ppiscope);
        }
        prop->Release();
    }
    return hr
}

Herencia

La interfaz ITfInputScope hereda de la interfaz IUnknown . ITfInputScope también tiene estos tipos de miembros:

Métodos

La interfaz ITfInputScope tiene estos métodos.

 
ITfInputScope::GetInputScopes

Método ITfInputScope::GetInputScopes
ITfInputScope::GetPhrase

Método ITfInputScope::GetPhrase
ITfInputScope::GetRegularExpression

Método ITfInputScope::GetRegularExpression
ITfInputScope::GetSRGS

Método ITfInputScope::GetSRGS
ITfInputScope::GetXML

Método ITfInputScope::GetXML

Comentarios

Para usar esta interfaz con controles sin ventanas, una aplicación tiene dos opciones.

  1. Haga que la aplicación tenga en cuenta TSF: Una aplicación compatible con TSF debe implementar ITextStoreACP o ITfContextOwner para obtener un puntero a ITfInputScope.
  2. SetInputScopes Esto no se recomienda, pero si la aplicación no es compatible con TSF, no hay ninguna otra manera de mantener la asociación entre el ámbito de entrada y la aplicación. En este caso, la aplicación debe llamar a SetInputScopes siempre que el foco cambie entre los controles sin ventana.

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP [aplicaciones de escritorio | aplicaciones para UWP]
Servidor mínimo compatible Windows Server 2003 [aplicaciones de escritorio | aplicaciones para UWP]
Plataforma de destino Windows
Encabezado inputscope.h