Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Este tópico fornece informações sobre como usar a anotação do servidor para especificar um objeto de retorno de chamada.
Para substituir uma propriedade que especifica um objeto de retorno de chamada
- Obtenha um ponteiro de interface IAccessible para o elemento acessível que deve ser anotado.
- Chame QueryInterface no elemento acessível para obter um ponteiro de interface IAccIdentity.
- Chame IAccIdentity::GetIdentityString() no ponteiro da interface IAccIdentity para obter uma cadeia de caracteres que identifica exclusivamente o elemento acessível a ser anotado.
- Use CoCreateInstance ou CoCreateInstanceEx para criar o objeto IAccPropServices.
- Crie um objeto COM (Component Object Model) que implemente IAccPropServer.
- Chame IAccPropServices::SetPropServer, passando a cadeia de caracteres de identidade, um GUID que indica a propriedade a ser substituída e um ponteiro para o objeto de retorno de chamada IAccPropServer.
- Libere os ponteiros de interface e a memória.
Quando um cliente solicita a propriedade do elemento acessível, o objeto de retorno de chamada será chamado e retornará o valor para o cliente.
Como ao especificar um valor, os desenvolvedores de servidor podem, alternativamente, usar o método IAccPropServices::ComposeHwndIdentityString para obter uma cadeia de caracteres de identidade; ou eles podem usar o método IAccPropServices::SetHwndPropServer e especificar o hwnd, idObjectou parâmetros idChild em vez de uma cadeia de caracteres de identidade.
Ao usar SetPropServer ou SetHwndPropServer em um objeto de contêiner, os desenvolvedores de servidor podem, opcionalmente, especificar que as informações de substituição também devem se aplicar a todos os elementos filhos desse contêiner.
Os servidores podem limpar explicitamente a anotação a qualquer momento usando IAccPropServices::ClearProps. Isso geralmente não é necessário, pois o serviço de anotação limpará e liberará automaticamente as informações de anotação quando o elemento acessível que está sendo anotado desaparecer.
Abaixo está uma lista de propriedades que podem ser anotadas usando este procedimento.
Propriedades suportadas ao especificar um callback
Ao especificar uma função de retorno, as seguintes propriedades podem ser anotadas. Atualmente, essas propriedades não podem ser anotadas diretamente especificando um valor.
| Propriedade | 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_ATALHO_DE_TECLADO | 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_ULTIMOFILHO | VT_DISPATCH VT_I4 |