Barra de Rolagem

Esta seção contém informações sobre os elementos de programação usados com barras de rolagem. Uma janela pode exibir um objeto de dados, como um documento ou um bitmap, que é maior do que a área do cliente da janela. Quando fornecido com uma barra de rolagem, o usuário pode rolar um objeto de dados na área do cliente para exibir as partes do objeto que se estendem além das bordas da janela.

Visões gerais

Tópico Contents
Sobre as barras de rolagem Uma barra de rolagem consiste em um eixo sombreado com um botão de seta em cada extremidade e uma caixa de rolagem (às vezes chamada de polegar) entre os botões de seta.
Usando barras de rolagem Ao criar uma janela sobreposta, pop-up ou filho, você pode adicionar barras de rolagem padrão usando a função CreateWindowEx e especificando WS_HSCROLL, WS_VSCROLL ou ambos os estilos.

Funções

Tópico Contents
EnableScrollBar A função EnableScrollBar habilita ou desabilita uma ou ambas as setas da barra de rolagem.
GetScrollBarInfo A função GetScrollBarInfo recupera informações sobre a barra de rolagem especificada.
GetScrollInfo A função GetScrollInfo recupera os parâmetros de uma barra de rolagem, incluindo as posições de rolagem mínima e máxima, o tamanho da página e a posição da caixa de rolagem (polegar).
GetScrollPos A função GetScrollPos recupera a posição atual da caixa de rolagem (polegar) na barra de rolagem especificada. A posição atual é um valor relativo que depende do intervalo de rolagem atual. Por exemplo, se o intervalo de rolagem for de 0 a 100 e a caixa de rolagem estiver no meio da barra, a posição atual será 50. Nota: A função GetScrollPos é fornecida para compatibilidade com versões anteriores. Novos aplicativos devem usar a função GetScrollInfo.
GetScrollRange A função GetScrollRange recupera as posições mínima e máxima da caixa de rolagem (polegar) atuais para a barra de rolagem especificada. Nota: A função GetScrollRange é fornecida apenas para compatibilidade. Novos aplicativos devem usar a função GetScrollInfo.
ScrollDC A função ScrollDC rola um retângulo de bits horizontal e verticalmente.
ScrollWindow A função ScrollWindow rola o conteúdo da área do cliente da janela especificada. Nota: A função ScrollWindow é fornecida para compatibilidade com versões anteriores. Novos aplicativos devem usar a função ScrollWindowEx.
ScrollWindowEx A função ScrollWindowEx rola o conteúdo da área do cliente da janela especificada.
SetScrollInfo A função SetScrollInfo define os parâmetros de uma barra de rolagem, incluindo as posições de rolagem mínima e máxima, o tamanho da página e a posição da caixa de rolagem (polegar). A função também redesenha a barra de rolagem, se solicitado.
SetScrollPos A função SetScrollPos define a posição da caixa de rolagem (polegar) na barra de rolagem especificada e, se solicitado, redesenha a barra de rolagem para refletir a nova posição da caixa de rolagem. Nota: A função SetScrollPos é fornecida para compatibilidade com versões anteriores. Novos aplicativos devem usar a função SetScrollInfo.
SetScrollRange A função SetScrollRange define as posições mínima e máxima da caixa de rolagem para a barra de rolagem especificada. Nota: A função SetScrollRange é fornecida para compatibilidade com versões anteriores. Novos aplicativos devem usar a função SetScrollInfo.
Barra de Rolagem Mostra A função ShowScrollBar mostra ou oculta a barra de rolagem especificada.

Mensagens

Tópico Contents
SBM_ENABLE_ARROWS Um aplicativo envia a mensagem SBM_ENABLE_ARROWS para habilitar ou desabilitar uma ou ambas as setas de um controle de barra de rolagem.
SBM_GETPOS A mensagem SBM_GETPOS é enviada para recuperar a posição atual da caixa de rolagem de um controle de barra de rolagem. A posição atual é um valor relativo que depende do intervalo de rolagem atual. Por exemplo, se o intervalo de rolagem for de 0 a 100 e a caixa de rolagem estiver no meio da barra, a posição atual será 50.
Os aplicativos não devem enviar essa mensagem diretamente. Em vez disso, eles devem usar a função GetScrollPos. Uma janela recebe essa mensagem por meio da sua função WindowProc. Os aplicativos que implementam um controle de barra de rolagem personalizado devem responder a essas mensagens para que a função GetScrollPos funcione corretamente.
SBM_GETRANGE A mensagem SBM_GETRANGE é enviada para recuperar os valores de posição mínima e máxima para o controle da barra de rolagem.
Os aplicativos não devem enviar essa mensagem diretamente. Em vez disso, eles devem usar a função GetScrollRange. Uma janela recebe essa mensagem por meio da sua função WindowProc. Os aplicativos que implementam um controle de barra de rolagem personalizado devem responder a essas mensagens para que a função GetScrollRange funcione corretamente.
SBM_GETSCROLLBARINFO Enviado por um aplicativo para recuperar informações sobre a barra de rolagem especificada.
SBM_GETSCROLLINFO A mensagem SBM_GETSCROLLINFO é enviada para recuperar os parâmetros de uma barra de rolagem.
Os aplicativos não devem enviar essa mensagem diretamente. Em vez disso, eles devem usar a função GetScrollInfo. Uma janela recebe essa mensagem por meio da sua função WindowProc. Os aplicativos que implementam um controle de barra de rolagem personalizado devem responder a essas mensagens para que a função GetScrollInfo funcione corretamente.
SBM_SETPOS A mensagem SBM_SETPOS é enviada para definir a posição da caixa de rolagem (polegar) e, se solicitado, redesenhar a barra de rolagem para refletir a nova posição da caixa de rolagem.
Os aplicativos não devem enviar essa mensagem diretamente. Em vez disso, eles devem usar a função SetScrollPos. Uma janela recebe essa mensagem por meio da sua função WindowProc. Os aplicativos que implementam um controle de barra de rolagem personalizado devem responder a essas mensagens para que a função SetScrollPos funcione corretamente.
SBM_SETRANGE A mensagem SBM_SETRANGE é enviada para definir os valores de posição mínimo e máximo para o controle da barra de rolagem.
Os aplicativos não devem enviar essa mensagem diretamente. Em vez disso, eles devem usar a função SetScrollRange. Uma janela recebe essa mensagem por meio da sua função WindowProc. Os aplicativos que implementam um controle de barra de rolagem personalizado devem responder a essas mensagens para que a função SetScrollRange funcione corretamente.
SBM_SETRANGEREDRAW Um aplicativo envia a mensagem SBM_SETRANGEREDRAW para um controle de barra de rolagem para definir os valores de posição mínima e máxima e redesenhar o controle.
SBM_SETSCROLLINFO A mensagem SBM_SETSCROLLINFO é enviada para definir os parâmetros de uma barra de rolagem.
Os aplicativos não devem enviar essa mensagem diretamente. Em vez disso, eles devem usar a função SetScrollInfo. Uma janela recebe essa mensagem por meio da sua função WindowProc. Os aplicativos que implementam um controle de barra de rolagem personalizado devem responder a essas mensagens para que a função SetScrollInfo funcione corretamente.

Notifications

Tópico Contents
WM_CTLCOLORSCROLLBAR A mensagem WM_CTLCOLORSCROLLBAR é enviada para a janela pai de um controle de barra de rolagem quando o controle está prestes a ser desenhado. Ao responder a essa mensagem, a janela pai pode usar o identificador de contexto de exibição para definir a cor do plano de fundo do controle da barra de rolagem.
Uma janela recebe essa mensagem por meio da sua função WindowProc.
WM_HSCROLL A mensagem WM_HSCROLL é enviada a uma janela quando ocorre um evento de rolagem na barra de rolagem horizontal padrão da janela. Essa mensagem também é enviada ao proprietário de um controle de barra de rolagem horizontal quando ocorre um evento de rolagem no controle.
Uma janela recebe essa mensagem por meio da sua função WindowProc.
WM_VSCROLL A mensagem WM_VSCROLL é enviada a uma janela quando ocorre um evento de rolagem na barra de rolagem vertical padrão da janela. Essa mensagem também é enviada ao proprietário de um controle de barra de rolagem vertical quando ocorre um evento de rolagem no controle.
Uma janela recebe essa mensagem por meio da sua função WindowProc.

Estruturas

Tópico Contents
SCROLLBARINFO A estrutura SCROLLBARINFO contém informações da barra de rolagem.
SCROLLINFO A estrutura SCROLLINFO contém parâmetros da barra de rolagem a serem definidos pela função SetScrollInfo (ou SBM_SETSCROLLINFO mensagem) ou recuperados pela função GetScrollInfo (ou SBM_GETSCROLLINFO mensagem).

Constantes

Tópico Contents
Estilos de controle da barra de rolagem Para criar um controle de barra de rolagem usando a função CreateWindow ou CreateWindowEx, especifique a classe SCROLLBAR, as constantes de estilo de janela apropriadas e uma combinação dos seguintes estilos de controle de barra de rolagem. Alguns dos estilos criam um controle de barra de rolagem que usa uma largura ou altura padrão. No entanto, você sempre deve especificar as coordenadas x e y e as outras dimensões da barra de rolagem ao chamar CreateWindow ou CreateWindowEx.