Compartilhar via


CWnd::ScrollWindowEx

Rola o conteúdo da área cliente de uma janela.

int ScrollWindowEx( 
   int dx, 
   int dy, 
   LPCRECT lpRectScroll, 
   LPCRECT lpRectClip, 
   CRgn* prgnUpdate, 
   LPRECT lpRectUpdate, 
   UINT flags  
);

Parâmetros

  • dx
    Especifica a quantidade, em unidades de dispositivo, de rolagem horizontal. Este parâmetro deve ter um valor negativo a rolar para a esquerda.

  • Dy
    Especifica a quantidade, em unidades de dispositivo, de rolagem vertical. Este parâmetro deve ter um valor negativo a rolagem anterior.

  • lpRectScroll
    Os pontos a RECT estrutura que especifica a parte da área do cliente seja rolada. Se esse parâmetro é NULO, toda a área cliente é rolada.

  • lpRectClip
    Os pontos a RECT estrutura que especifica o retângulo de identificação de rolagem. Essa estrutura tem precedência sobre o retângulo apontado por lpRectScroll. Somente os bits dentro do retângulo são rolados. Os bits fora de esse retângulo não são afetados mesmo se eles estão no retângulo de lpRectScroll . Se esse parâmetro é NULO, nenhum recorte é executado no retângulo de rolagem.

  • prgnUpdate
    Identifica a região que é alterada para manter a região invalidada enrolando. Este parâmetro pode ser NULO.

  • lpRectUpdate
    Os pontos a RECT estrutura que receberá os limites do retângulo invalidado enrolando. Este parâmetro pode ser NULO.

  • flags
    Pode ter um dos seguintes valores:

    • QuandoSW_ERASE especificado com SW_INVALIDATE, erases a região recentemente invalidada enviando uma mensagem de WM_ERASEBKGND a janela.

    • SW_INVALIDATE invalida a região identificada por prgnUpdate após o enfileiramento.

    • SW_SCROLLCHILDREN colocar todas as janelas filho que cruzam o retângulo apontado por lpRectScroll pelo número de pixels especificados em dx e em Dy. As janelas envia uma mensagem de WM_MOVE a todas as janelas filho que cruzam lpRectScroll, mesmo se não mova. O acento circunflexo está reposicionado quando uma janela filho é rolada e o retângulo do cursor cruza o retângulo de rolagem.

Valor de retorno

O valor de retorno é invalidada SIMPLEREGION (área retangular), COMPLEXREGION (região invalidada; não retangulares retângulos sobrepostos), ou NULLREGION (nenhuma região invalidada), se a função é com êxito; se não o valor de retorno é ERRO.

Comentários

Essa função é semelhante à função de ScrollWindow , com alguns recursos adicionais.

Se SW_INVALIDATE e SW_ERASE não for especificado, a função de membro de ScrollWindowEx não invalida a área de que é rolado fora. Se qualquer um de esses sinalizadores é definido, ScrollWindowEx invalida esta área. A área não é atualizado até que o aplicativo chama a função de membro de UpdateWindow , chame a função de membro de RedrawWindow (especificando RDW_UPDATENOW ou RDW_ERASENOW), ou recupere a mensagem de WM_PAINT de fila do aplicativo.

Se a janela tem o estilo de WS_CLIPCHILDREN , as áreas especificadas por prgnUpdate e retornados pelo lpRectUpdate representa a área geral da janela rolada que deve ser atualizada, incluindo todas as áreas em janelas filho que precisam atualizar.

Se o sinalizador de SW_SCROLLCHILDREN for especificado, o não serão atualizadas corretamente a tela se a parte de uma janela filho é rolada. A parte da janela filho rolada que está fora do retângulo de origem não será apagada e não será redesenhada corretamente no seu novo destino. Use a função do windows de DeferWindowPos para mover as janelas filho que não se encontram completamente dentro do retângulo de lpRectScroll . O cursor está reposicionado se o sinalizador de SW_SCROLLCHILDREN é definido e o retângulo caret cruza o retângulo de rolagem.

Todas as coordenadas de entrada e saída (para lpRectScroll, lpRectClip, lpRectUpdate, e o prgnUpdate) são assumidas para estar em coordenadas do cliente, independentemente da janela tem estilo da classe de CS_OWNDC ou de CS_CLASSDC . Use as funções do windows de LPtoDP e de DPtoLP para converter e coordenadas lógicas, se necessário.

Requisitos

Cabeçalho: afxwin.h

Consulte também

Referência

CWnd Class

Gráfico da hierarquia

CWnd::RedrawWindow

CDC::ScrollDC

CWnd::ScrollWindow

CWnd::UpdateWindow

DeferWindowPos

ScrollWindowEx