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.

Valor Significado
SB_CTL
Define os parâmetros de um controle de barra de rolagem. O parâmetro hwnd deve ser o identificador para o controle de barra de rolagem.
SB_HORZ
Define os parâmetros da barra de rolagem horizontal padrão da janela.
SB_VERT
Define os parâmetros da barra de rolagem vertical padrão da janela.

[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 seguintes valores.

Valor Significado
SIF_DISABLENOSCROLL
Desabilita a barra de rolagem em vez de removê-la, se os novos parâmetros da barra de rolagem tornarem a barra de rolagem desnecessária.
SIF_PAGE
Define a página de rolagem para o valor especificado no membro nPage da estrutura SCROLLINFO apontada pelo lpsi.
SIF_POS
Define a posição de rolagem para o valor especificado no membro nPos da estrutura SCROLLINFO apontada por lpsi.
SIF_RANGE
Define o intervalo de rolagem como 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.

Retornar valor

Tipo: int

O valor retornado é a posição atual da caixa de rolagem.

Comentários

A função SetScrollInfo executa 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 qualquer 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 pode 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 ), a função SetScrollInfo falhará.

Para obter um exemplo, consulte Rolagem de 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 em Windows 8.1)

Confira também

Getscrollinfo

Referência

SCROLLINFO