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
Implementar as interfaces apropriadas para os padrões de controle que o elemento deve oferecer suporte, como IInvokeProvedor Para InvokePattern.
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