Compartilhar via


Considerações de design para objetos proxy

O design de objeto acessível e proxy depende do design dos elementos da interface do usuário do servidor. Independentemente do design, um elemento de interface do usuário deve notificar seu objeto proxy logo antes de ser destruído para que o objeto proxy manipule chamadas de clientes adequadamente.

A lista a seguir descreve duas possibilidades de design:

  • Coloque o código que implementa a interface IAccessible no mesmo módulo que o código que implementa o elemento de interface do usuário se o código da interface do usuário for facilmente extensível. Nesse caso, o proxy é "leve" no sentido de que tudo o que ele faz é monitorar o tempo de vida do objeto acessível, encaminhar chamadas para o objeto acessível e retornar os resultados.
  • Coloque o código que implementa IAccessible no mesmo módulo que o código que implementa o objeto proxy. Nesse caso, o objeto acessível usa funções internas para obter informações sobre o elemento de interface do usuário.

Controles de barra de controle

Ao implementar controles de barra de controle, use o estilo de barra de controle TBS_REVERSED para fornecer informações mais significativas. Esse estilo inverte a escala usada por IAccessible::get_accValue.

Para barras de controle verticais sem esse estilo, IAccessible::get_accValue retorna zero (0) quando o polegar da barra de controle está na parte superior do controle; os valores aumentam conforme você desliza o polegar em direção à parte inferior. Com o estilo TBS_REVERSED , IAccessible::get_accValue retorna cem (100) quando o polegar da barra de controle está na parte superior; os números diminuem à medida que você move o polegar da barra de faixa em direção à parte inferior.

Para barras de controle horizontais sem esse estilo, zero (0) é retornado quando o polegar da barra de controle está na extremidade esquerda do controle; os valores aumentam à medida que você move o polegar da barra de controle para a direita. Com o estilo TBS_REVERSED , IAccessible::get_accValue retorna cem (100) quando o polegar da barra de controle está à esquerda; os valores diminuem à medida que você move o polegar da barra de controle para a direita.