Rolar a área cliente

A maneira mais simples para rolar o conteúdo de uma área do cliente é apagar e, em seguida, atualiza-lo. Este é o método que um aplicativo é provável usar com SB_PAGEUP SB_PAGEDOWN e SB_TOP mensagens de notificação, que geralmente exigem completamente novo conteúdo.

Algumas mensagens de notificação, tais como SB_LINEUP e SB_LINEDOWN, nem todo o conteúdo precisa ser apagado, porque alguns permanece visível depois de rolagem ocorre. O ScrollWindowEx função preserva uma parte do conteúdo da área de cliente, mova a parte conserva uma quantidade especificada e, em seguida, prepara o restante da área do cliente para obter novas informações pintura. ScrollWindowEx usa o BitBlt função para mover uma parte específica do objeto de dados para um novo local dentro da área de cliente. Qualquer parte descoberta da área do cliente (qualquer coisa não preservadas) é invalidado, apagados e pintado quando o próximo mensagem de WM_PAINT ocorre.

O ScrollWindowEx função pode ser usado para excluir uma parte da área cliente do letreiro. Isto evita que itens com posições fixas, tais como janelas filho, se deslocam no interior da área de cliente. Ele automaticamente invalida a parte da área do cliente que está a receber novas informações, para que o aplicativo não precisa calcular suas próprias regiões de recorte. Para obter mais informações sobre recorte, consulte recorte.

Geralmente um aplicativo rola o conteúdo de uma janela em direção oposta que indicado pela barra de rolagem. Por exemplo, quando o usuário clica o eixo na área abaixo da caixa de rolagem, um aplicativo rola o objeto na janela para cima para revelar uma parte do objeto que está abaixo da parte visível.

Você também pode rolar uma região retangular usando a ScrollDC função.