Partilhar via


Support Control Patterns in a UI Automation Provider

Este tópico mostra como implementar um ou mais padrões de controle em um Interface do usuário de automação do provedor Para que os aplicativos cliente podem manipular os controles e obter dados de-los.

Padrões de controle de suporte

  1. Implementar as interfaces apropriadas para os padrões de controle que o elemento deve oferecer suporte, como IInvokeProvedor Para InvokePattern.

  2. Retornar o objeto que contém a implementação de cada interface de controle na sua implementação do IRawElementProvedorSimplesGetPatternProvedor(Int32)

Exemplo

O exemplo a seguir mostra uma implementação do ISelectionProvedor Para um Simples-Seleção caixa de listagem personalizado.Ela retorna três propriedades e obtém o item atualmente selecionado.

#region ISelectionProvider Members




  CanSelectMultiple
{
    
    {
         ;
    }
}




  IsSelectionRequired
{
    
    {
         ;
    }
}









 IRawElementProviderSimple[] GetSelection()
{
     (SelectedIndex >= 0)
    {
        IRawElementProviderSimple itemProvider = (IRawElementProviderSimple)MyList[SelectedIndex];
        IRawElementProviderSimple[] providers =  { itemProvider };
         providers;
    }
      ;
}
#endregion ISelectionProvider Members
#Region 




   CanSelectMultiple()   _
     ISelectionProvider.CanSelectMultiple
    
         
     
 




   IsSelectionRequired()   _
     ISelectionProvider.IsSelectionRequired
    
         
     
 








  GetSelection()  IRawElementProviderSimple() _
     ISelectionProvider.GetSelection
     SelectedIndex >= 0 
         itemProvider  IRawElementProviderSimple = DirectCast(MyList(SelectedIndex), IRawElementProviderSimple)
         providers(1)  IRawElementProviderSimple
        providers(0) = itemProvider
         providers
    
         
     

# Region
 Members  ISelectionProvider

O exemplo a seguir mostra uma implementação do GetPatternProvedor(Int32) Que retorna a implementação de classe ISelectionProvedor.A maioria dos controles caixa de listagem dará suporte outros padrões bem, mas em uma referência nula (neste exemploNada Em é retornado para todos os outros identificadores padrão.










object IRawElementProviderSimple.GetPatternProvider( patternId)
{
     (patternId == SelectionPatternIdentifiers.Pattern.Id)
    {
          ListPattern(myItems, SelectedIndex);
    }
    
    {
         ;
    }
}









 GetPatternProvider( patternId  )  Object _
     IRawElementProviderSimple.GetPatternProvider

     patternId = SelectionPatternIdentifiers.Pattern.Id 
          ListPattern(myItems, SelectedIndex)
    
         
     

  'IRawElementProviderSimple.GetPatternProvider

Consulte também

Conceitos

UI Automation Providers Overview

Implementação de Provedor de Automação de IU no Servidor