Compartilhar via


Padrão de controle de rolagem

Descreve diretrizes e convenções para implementar o IScrollProvider, incluindo informações sobre propriedades e métodos. O padrão de controle Scroll é usado para dar suporte a um controle que atua como um contêiner rolável para uma coleção de objetos filho.

O controle não é necessário para usar barras de rolagem para dar suporte à funcionalidade de rolagem, embora normalmente o faça. A imagem a seguir mostra um controle de rolagem que não usa barras de rolagem. Para obter exemplos de controles que implementam esse padrão de controle, consulte Tipos de controle e seus padrões de controle com suporte.

captura de tela mostrando um controle de rolagem sem barras de rolagem

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

Diretrizes e convenções de implementação

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

  • Os filhos desse controle devem implementar IScrollItemProvider.
  • As barras de rolagem de um controle de contêiner não dão suporte ao padrão de controle Scroll . Em vez disso, eles devem dar suporte ao padrão de controle RangeValue .
  • Quando a rolagem é medida em percentuais, todos os valores ou quantias relacionadas à graduação de rolagem devem ser normalizados para um intervalo de 0 a 100.
  • A propriedade IScrollProvider::HorizontallyScrollable e a propriedade VerticallyScrollable são independentes da propriedade IsEnabled .
  • Se a propriedade IScrollProvider::HorizontallyScrollable for FALSE, a propriedade HorizontalViewSize deverá ser definida como 100 (100%) e a propriedade HorizontalScrollPercent deverá ser definida como UIA_ScrollPatternNoScroll (-1). Da mesma forma, se a propriedade VerticallyScrollable for FALSE, a propriedade VerticalViewSize deverá ser definida como 100 (100%) e a propriedade VerticalScrollPercent deverá ser definida como UIA_ScrollPatternNoScroll (-1). Isso permite que um cliente do Microsoft Automação da Interface do Usuário use esses valores de propriedade dentro do método SetScrollPercent, evitando uma condição de corrida se uma direção em que o cliente não está interessado em rolar for ativada.
  • A propriedade IScrollProvider::HorizontalScrollPercent é específica da localidade. Definir HorizontalScrollPercent como 100 deve definir o local de rolagem do controle como o equivalente à posição mais à direita para idiomas como inglês que leem da esquerda para a direita. Como alternativa, para idiomas como árabe que leem da direita para a esquerda, definir HorizontalScrollPercent como 100 deve definir o local de rolagem para a posição mais à esquerda.

Membros necessários para IScrollProvider

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

Membros necessários Tipo de membro Observações
Horizontalscrollpercent Propriedade Nenhum
Verticalscrollpercent Propriedade Nenhum
HorizontalViewSize Propriedade Nenhum
VerticalViewSize Propriedade Nenhum
Horizontallyscrollable Propriedade Nenhum
Verticallyscrollable Propriedade Nenhum
Rolar Método Nenhum
SetScrollPercent Método Nenhum

 

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