Função SetScrollInfo (winuser.h)
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 redesenhará a barra de rolagem, se solicitado.
Sintaxe
int SetScrollInfo(
[in] HWND hwnd,
[in] int nBar,
[in] LPCSCROLLINFO lpsi,
[in] BOOL redraw
);
Parâmetros
[in] hwnd
Tipo: HWND
Manipule para um controle de barra de rolagem ou uma janela com uma barra de rolagem padrão, dependendo do valor do parâmetro fnBar .
[in] nBar
Tipo: int
Especifica o tipo de barra de rolagem para a qual definir parâmetros. Esse parâmetro pode usar um dos valores a seguir.
[in] lpsi
Tipo: LPCSCROLLINFO
Ponteiro para uma estrutura SCROLLINFO . Antes de chamar SetScrollInfo, defina o membro cbSize da estrutura como sizeof(SCROLLINFO), defina o membro fMask para indicar os parâmetros a serem definidos e especifique os novos valores de parâmetro nos membros apropriados.
O membro fMask pode ser um ou mais dos valores a seguir.
Valor | Significado |
---|---|
|
Desabilita a barra de rolagem em vez de removê-la, se os novos parâmetros da barra de rolagem tornam a barra de rolagem desnecessária. |
|
Define a página de rolagem para o valor especificado no membro nPage da estrutura SCROLLINFO apontada por lpsi. |
|
Define a posição de rolagem como o valor especificado no membro nPos da estrutura SCROLLINFO apontada por lpsi. |
|
Define o intervalo de rolagem para o valor especificado nos membros nMin e nMax da estrutura SCROLLINFO apontada por lpsi. |
[in] redraw
Tipo: BOOL
Especifica se a barra de rolagem é redesenhada para refletir as alterações na barra de rolagem. Se esse parâmetro for TRUE, a barra de rolagem será redesenhada; caso contrário, ela não será redesenhada.
Valor retornado
Tipo: int
O valor retornado é a posição atual da caixa de rolagem.
Comentários
A função SetScrollInfo executa a verificação de intervalo nos valores especificados pelos membros nPage e nPos da estrutura SCROLLINFO . O membro nPage deve especificar um valor de 0 a nMax - nMin +1. O membro nPos deve especificar um valor entre nMin e nMax - max( nPage– 1, 0). Se um dos valores estiver além de seu intervalo, a função o definirá como um valor que está apenas dentro do intervalo.
Se o parâmetro fnBar for SB_CTL e a janela especificada pelo parâmetro hwnd não for um controle de barra de rolagem do sistema, o sistema enviará a mensagem SBM_SETSCROLLINFO para a janela para definir informações da barra de rolagem (o sistema poderá otimizar a mensagem para SBM_SETPOS ou SBM_SETRANGE se a solicitação for exclusivamente para a posição ou intervalo). Isso permite que SetScrollInfo opere em um controle personalizado que imita uma barra de rolagem. Se a janela não manipular SBM_SETSCROLLINFO (ou a mensagem de SBM_SETPOS otimizada ou SBM_SETRANGE mensagem), a função SetScrollInfo falhará.
Para obter um exemplo, consulte Rolando texto com a mensagem WM_PAINT.
Requisitos
Cliente mínimo com suporte | Windows Vista [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2003 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | winuser.h (inclua Windows.h) |
Biblioteca | User32.lib |
DLL | User32.dll |
Conjunto de APIs | ext-ms-win-ntuser-misc-l1-2-0 (introduzido no Windows 8.1) |
Confira também
Referência