Partilhar via


Padrão de controle ObjectModel

Descreve diretrizes e convenções para implementar IObjectModelProvider, incluindo informações sobre métodos. O padrão de controle ObjectModel é usado para expor um ponteiro para o modelo de objeto subjacente de um documento.

Muitos aplicativos implementam modelos de objetos avançados que agregam valor além do que o Microsoft Automação da Interface do Usuário fornece. Esse padrão de controle permite que um cliente navegue de um elemento Automação da Interface do Usuário para o modelo de objeto subjacente.

Este tópico inclui as seções a seguir.

Diretrizes e convenções de implementação

Ao implementar o padrão de controle ObjectModel , observe as seguintes diretrizes e convenções:

  • O método IObjectModelProvider::GetUnderlyingObjectModel deve retornar um ponteiro para o objeto que é o mais próximo possível do elemento de interface do usuário de origem. Por exemplo, em um navegador da Web, um provedor de Automação da Interface do Usuário para um único elemento deve retornar um ponteiro de modelo de objeto para o elemento . Retornar um ponteiro de modelo de objeto para a raiz do documento seria muito menos útil.
  • Espera-se que o cliente do padrão de controle ObjectModel tenha o IID para a interface que eles estão buscando, razão pela qual é suficiente para retornar um ponteiro IUnknown simples.
  • Como Automação da Interface do Usuário realiza marshaling do ponteiro para o processo do cliente, o provedor deve esperar que o cliente acesse o modelo de objeto usando práticas padrão do COM (Component Object Model).

Membros necessários para IObjectModelProvider

O método a seguir é necessário para implementar a interface IObjectModelProvider .

Membros necessários Tipo de membro Observações
GetUnderlyingObjectModel Método Retorna um ponteiro COM para o modelo de objeto subjacente. Espera-se que o cliente chame o método IUnknown::QueryInterface para recuperar ponteiros específicos do modelo de objeto.

 

Esse padrão de controle não tem eventos associados.

Tipos de controle e seus padrões de controle com suporte

Visão Geral de Padrões de Controle de Automação de Interface de Usuário

Visão geral da árvore de automação de interface do usuário