Compartilhar via


Creating a Scroll Bar

Windows Mobile Not SupportedWindows Embedded CE Supported

9/9/2008

A barra de rolagem é usado para rolem o texto em uma janela. Barras SCROLL devem ser incluídas em qualquer janela para o qual o de conteúdo da área cliente ultrapasse as bordas janela. A orientação de uma barra de rolagem determina a direção na qual rolagem ocorre quando um usuário opera a barra de rolagem. Um barra de rolagem horizontal permite que um usuário para percorrer o de conteúdo de uma janela para a esquerda ou direito. Um barra de rolagem vertical permite que um usuário para percorrer o de conteúdo para cima ou para baixo.

Você pode usar controles barra de rolagem Tantas quantas forem necessárias em uma única janela. Quando você cria um controle barra de rolagem, você deve especificar o tamanho e posição da barra de rolagem. Entretanto, se a janela que usa um controle barra de rolagem pode ser redimensionada, seu aplicativo deve ajustar o tamanho do barra de rolagem quando altera o tamanho da janela.

Para criar um barra de rolagem usando a função CreateWindow

  1. Especifica a classe janela SCROLLBAR in a Boolean parâmetro da CreateWindow função ou a CreateWindowEx função.

  2. Especificar um ou mais estilos controle de barra de rolagem in a dwStyle parâmetro da CreateWindow função ou a CreateWindowEx função.

    Um controle barra de rolagem pode ter um número de estilos para controle de orientação e posição da barra de rolagem. Alguns dos estilos de criar um controle barra de rolagem que usa um usar como padrão largura ou altura. No entanto, você deve sempre especificar o x - coordenar e de y - coordenar da posição do barra de rolagem, as well as as dimensões da barra de rolagem. Para um completo listagem de com suporte estilos, consulte Janela e estilos de controle. Se o estilo janela WS_EX_LAYOUTRTL for definido, o controle barra de rolagem deve ser espelhado. A ordem de leitura pode ser também ser controlado pelo estilo janela WS_EX_RTLREADING.

O seguinte exemplo de código mostra como usar CreateWindow Para criar um barra de rolagem.

#define SCROLLBARID 100

DWORD dwStyle = SBS_BOTTOMALIGN | SBS_HORZ | WS_VISIBLE | WS_CHILD;

hwndSB = CreateWindow (
            TEXT("scroll bar"),  // Class name
            NULL,               // Window text
            dwStyle,            // Window style
            0,                  // x-coordinate of the upper-left corner
            0,                  // y-coordinate of the upper-left corner
            CW_USEDEFAULT,      // The width of the edit control window
            CW_USEDEFAULT,      // The height of the edit control window
            hwnd,               // Window handle to the parent window
            (HMENU) SCROLLBARID,// The control identifier
            hInst,              // The instance handle
            NULL);              // Specify NULL for this parameter when 
                                // you create a control.

Para criar um controle barra de rolagem em uma caixa diálogo

  1. Adicione o seguinte SCROLLBAR recurso-declaração definição para sua Dialog recurso.

    SCROLLBAR id, x, y, width, height [[, style [[, extended-style]]]]
    

    Aqui, ID é o valor que identifica a barra de rolagem.

    O x e y Parâmetros determinam a posição barra de rolagem e são representados como números inteiros. Eles são relativo a extremidade esquerda ou à extremidade superior do barra de rolagem, depending on se o barra de rolagem é horizontal ou vertical. A posição deve estar entre os valores mínimo e máximo do intervalo de rolagem. Por exemplo, em um barra de rolagem com um intervalo de 0 a 100, posição 50 é o meio, com as posições restantes distribuído igualmente junto a barra de rolagem. O intervalo inicial depende de barra de rolagem. Barras de rolagem padrão tem um intervalo inicial de 0 a 100. SCROLL barra controles têm um vazio intervalo — valores tanto mínimos e máximo são zero — a menos que você fornecer um intervalo explícito ao criar o controle. Você pode alterar o intervalo a qualquer momento após sua criação inicial. Você pode usar o SetScrollInfo função para definir valores de intervalo e o GetScrollInfo função para recuperar o atual valores intervalo.

    O largura e altura Parâmetros determinam tamanho da barra de rolagem. Você pode definir um barra de rolagem igual a um tamanho página. Tamanho de página representa o número de unidades dados que cabem na área de cliente do janela proprietária, dado sua atual tamanho. Para exemplo, se a área cliente pode conter oito linhas de texto, um aplicativo poderia Definir tamanho de página para oito. Windows Embedded CE usa o tamanho, along with o intervalo de rolagem e o comprimento da cinza página área do barra de rolagem, para definir o tamanho da barra de rolagem. Quando uma janela que contém um barra de rolagem é redimensionada, um aplicativo deve chamar o SetScrollInfo função para Definir tamanho de página. Um aplicativo pode recuperar o atual tamanho página por chamado de GetScrollInfo função.

    Ambos estilo e estendido-estilo Determine a aparência da caixa de editar. O estilo de uma barra de rolagem usar como padrão é SBS_HORZ, que cria um barra de rolagem horizontal. A seguinte ilustração mostra um barra de rolagem horizontal. Para um barra de rolagem vertical, especificar o estilo SBS_VERT. Para um completo listagem de com suporte estilos, consulte Janela e estilos de controle.

A seguinte ilustração mostra um barra de rolagem.

Para estabelecer um relacionamento úteis entre o intervalo barra de rolagem e o objeto de dados, seu aplicativo deve ajustar o intervalo quando altera o tamanho da objeto de dados.

À medida que um usuário se move o caixa de rolagem em um barra de rolagem, a barra de rolagem relatórios a posição caixa de rolagem como um inteiro no intervalo de rolagem. Se a posição é o valor mínimo, o caixa de rolagem é na parte superior de um barra de rolagem vertical ou à esquerda de uma barra de rolagem horizontal. Se a posição for o valor máximo, o caixa de rolagem será na inferior de uma barra de rolagem vertical ou o direito final de uma barra de rolagem horizontal.

Seu aplicativo precisa mover a caixa de rolagem em um barra de rolagem. Embora um usuário faz uma solicitação para rolar em uma barra de rolagem, barra de rolagem a não atualização automaticamente a posição da caixa de rolagem. Em vez disso, o barra de rolagem passa a solicitação para o janela pai, que deve percorrer os dados e atualização de posição da caixa de rolagem. Use o SetScrollInfo função no seu aplicativo para atualização a posição da caixa de rolagem. Porque seu aplicativo controla o movimento do relativo a caixa de rolagem para objeto de dados a janela, você determinar as configurações incrementais posição para o caixa de rolagem que trabalho melhor para os dados que está sendo rolados.

See Also

Concepts

Working with Window Controls

Other Resources

GWES Application Development