Compartilhar via


Implementando o Padrão de Controle de Transformação de Automação de IU

Observação

Esta documentação destina-se a desenvolvedores de .NET Framework que querem usar as classes da Automação da Interface do Usuário gerenciadas definidas no namespace System.Windows.Automation. Para obter as informações mais recentes sobre a Automação da Interface do Usuário, confira API de Automação do Windows: Automação da Interface do Usuário.

Este tópico apresenta as diretrizes e as convenções para implementar ITransformProvider, incluindo informações sobre propriedades, métodos e eventos. Links para referências adicionais são listados no final do tópico.

O padrão de controle TransformPattern é usado para dar suporte a controles que podem ser movidos, redimensionados ou girados dentro de um espaço bidimensional. Para ver exemplos de controles que implementam esse padrão de controle, confira Mapeamento de padrões de controle para clientes da Automação da Interface do Usuário.

Diretrizes e convenções de implementação

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

  • O suporte para esse padrão de controle não se limita aos objetos da área de trabalho. Esse padrão de controle também precisa ter o suporte dos filhos de um objeto de contêiner se os filhos podem ser movidos, redimensionados ou girados livremente dentro dos limites do contêiner.

  • Um objeto não pode ser movido, redimensionado ou girado de modo que o local de tela resultante esteja completamente fora das coordenadas do contêiner e, portanto, inacessível para o teclado ou mouse (por exemplo, quando uma janela de nível superior é movida para fora da tela ou um objeto filho é movido para fora dos limites do visor do contêiner). Nesses casos, o objeto é colocado o mais próximo possível das coordenadas de tela solicitadas com as coordenadas superiores ou à esquerda substituídas para estar dentro dos limites do contêiner.

  • Para sistemas de vários monitores, se um objeto for movido, redimensionado ou girado completamente fora das coordenadas combinadas da tela da área de trabalho, o objeto será colocado no monitor primário o mais próximo possível das coordenadas solicitadas.

  • Todos os parâmetros e valores da propriedade são absolutos e independentes da localidade.

Membros necessários para ITransformProvider

As propriedades e os métodos a seguir são necessários para implementar ITransformProvider.

Membros necessários Tipo de membro Observações
CanMove Propriedade Nenhum
CanResize Propriedade Nenhum
CanRotate Propriedade Nenhum
Move Método Nenhum
Resize Método Nenhum
Rotate Método Nenhum

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

Exceções

Os provedores devem gerar as exceções a seguir.

Tipo de exceção Condição
InvalidOperationException Move

– Se a CanMoveProperty for false.
InvalidOperationException Resize

– Se a CanResizeProperty for false.
InvalidOperationException Rotate

– Se a CanRotateProperty for false.

Confira também