Función AccessibleObjectFromPoint (oleacc.h)

Recupera la dirección del puntero de interfaz IAccessible para el objeto mostrado en un punto especificado en la pantalla.

Sintaxis

HRESULT AccessibleObjectFromPoint(
  [in]  POINT       ptScreen,
  [out] IAccessible **ppacc,
  [out] VARIANT     *pvarChild
);

Parámetros

[in] ptScreen

Especifica, en coordenadas de pantalla físicas, el punto que se examina.

[out] ppacc

Dirección de una variable de puntero que recibe la dirección de la interfaz IAccessible del objeto.

[out] pvarChild

Dirección de una estructura VARIANT que especifica si el puntero de interfaz IAccessible que se devuelve en ppacc pertenece al objeto mostrado en el punto especificado, o al elemento primario del elemento en el punto especificado. El miembro vt de VARIANT siempre se VT_I4. Si el miembro lVal es CHILDID_SELF, el puntero de interfaz IAccessible en ppacc pertenece al objeto en el punto. Si el miembro lVal no es CHILDID_SELF, ppacc es la dirección de la interfaz IAccessible del objeto primario del elemento secundario. Los clientes deben llamar a VariantClear en el parámetro VARIANT recuperado cuando termine de usarlo.

Valor devuelto

Si se ejecuta correctamente, devuelve S_OK.

Si no se ejecuta correctamente, devuelve uno de los siguientes u otro código de error COM estándar.

Código devuelto Descripción
E_INVALIDARG
Un argumento no es válido.

Comentarios

Esta función recupera el objeto accesible de nivel más bajo en la jerarquía de objetos en un punto determinado. Si el elemento en el punto no es un objeto accesible (es decir, no admite IAccessible), la función recupera la interfaz IAccessible del objeto primario. El objeto primario debe proporcionar información sobre el elemento secundario a través de la interfaz IAccessible . Llame a IAccessible::accHitTest para identificar el elemento secundario en las coordenadas de pantalla especificadas.

Al igual que con otros métodos y funciones IAccessible , los clientes pueden recibir errores para punteros de interfaz IAccessible debido a una acción del usuario. Para obtener más información, vea Recepción de errores para punteros de interfaz IAccessible.

Ejemplo de cliente

La siguiente función de ejemplo selecciona el elemento en un punto especificado en la pantalla. Se supone que se desea una única selección.

HRESULT SelectItemAtPoint(POINT point)
{
    VARIANT varItem;
    IAccessible* pAcc;
    HRESULT hr = AccessibleObjectFromPoint(point, &pAcc, &varItem);
    if ((hr == S_OK))
    {
        hr = pAcc->accSelect((SELFLAG_TAKEFOCUS | SELFLAG_TAKESELECTION), varItem);
        VariantClear(&varItem);
        pAcc->Release();
    }
    return hr;
}

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado oleacc.h
Library Oleacc.lib
Archivo DLL Oleacc.dll
Redistribuible RDK de accesibilidad activa 1.3 en Windows NT 4.0 con SP6 y versiones posteriores y Windows 95

Consulte también

AccessibleObjectFromEvent

AccessibleObjectFromWindow

Accesibilidad activa y escalado de pantalla de Windows Vista

IAccessible

Variant (estructura)