Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Este tema proporciona información sobre cómo usar anotaciones de servidor para especificar un objeto de devolución de llamada.
Anular una propiedad que especifica un objeto devolución de llamada
- Obtenga un puntero de interfaz IAccessible hacia el elemento accesible que se va a anotar.
- Llame a QueryInterface en el elemento accesible para obtener el puntero de interfaz IAccIdentity.
- Llame a IAccIdentity::GetIdentityString() en el puntero de interfaz IAccIdentity para obtener una cadena que identifique de forma única el elemento accesible que se va a anotar.
- Use CoCreateInstance o CoCreateInstanceEx para crear el objeto IAccPropServices.
- Cree un objeto Component Object Model (COM) que implemente IAccPropServer.
- Llame a IAccPropServices::SetPropServer, incluyendo la cadena de identidad, un GUID que indica la propiedad que se va a anular, y un puntero apuntando al objeto devolución de llamada IAccPropServer.
- Libera punteros de interfaz y libera memoria.
Cuando un cliente solicita la propiedad del elemento accesible, se invocará al objeto de devolución de llamada, que devolverá el valor al cliente.
Al especificar un valor, los desarrolladores de servidores pueden usar alternativamente el método IAccPropServices::ComposeHwndIdentityString para obtener una cadena de identidad; o pueden usar el método IAccPropServices::SetHwndPropServer y especificar el hwnd, idObjecto parámetros idChild en lugar de una cadena de identidad.
Al usar bien SetPropServer o SetHwndPropServer en un objeto contenedor, los desarrolladores de servidores pueden especificar, de manera opcional, que la información de anulación también tiene que aplicarse a todos los elementos secundarios de ese contenedor.
Los servidores pueden borrar explícitamente la anotación en cualquier momento mediante IAccPropServices::ClearProps. Esto no suele ser necesario, ya que el servicio de anotación limpiará y liberará automáticamente la información de anotación cuando desaparezca el elemento accesible.
A continuación se muestra una lista de propiedades que se pueden anotar mediante este procedimiento.
Propiedades admitidas al especificar una devolución de llamada
Al especificar un callback, se pueden anotar las siguientes propiedades. Actualmente, estas propiedades no se pueden anotar directamente especificando un valor.
| Propiedad | Tipo |
|---|---|
| PROPID_ACC_NAME | VT_BSTR |
| PROPID_ACC_DESCRIPTION | VT_BSTR |
| PROPID_ACC_ROLE | VT_I4 |
| PROPID_ACC_STATE | VT_I4 |
| PROPID_ACC_HELP | VT_BSTR |
| PROPID_ACC_KEYBOARDSHORTCUT | VT_BSTR |
| PROPID_ACC_DEFAULTACTION | VT_BSTR |
| PROPID_ACC_VALUEMAP | VT_BSTR |
| PROPID_ACC_ROLEMAP | VT_BSTR |
| PROPID_ACC_STATEMAP | VT_BSTR |
| PROPID_ACC_FOCUS | VT_DISPATCH VT_I4 |
| PROPID_ACC_SELECTION | VT_DISPATCH VT_I4 VT_UNKNOWN |
| PROPID_ACC_PARENT | VT_DISPATCH |
| PROPID_ACC_NAV_UP | VT_DISPATCH VT_I4 |
| PROPID_ACC_NAV_DOWN | VT_DISPATCH VT_I4 |
| PROPID_ACC_NAV_LEFT | VT_DISPATCH VT_I4 |
| PROPID_ACC_NAV_RIGHT | VT_DISPATCH VT_I4 |
| PROPID_ACC_NAV_PREV | VT_DISPATCH VT_I4 |
| PROPID_ACC_NAV_NEXT | VT_DISPATCH VT_I4 |
| PROPID_ACC_NAV_FIRSTCHILD | VT_DISPATCH VT_I4 |
| PROPID_ACC_NAV_LASTCHILD | VT_DISPATCH VT_I4 |