Função SetScrollRange (winuser.h)

A função SetScrollRange define as posições mínimas e máximas 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 .
 

Sintaxe

BOOL SetScrollRange(
  [in] HWND hWnd,
  [in] int  nBar,
  [in] int  nMinPos,
  [in] int  nMaxPos,
  [in] BOOL bRedraw
);

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 nBar .

[in] nBar

Tipo: int

Especifica a barra de rolagem a ser definida. Esse parâmetro pode usar um dos valores a seguir.

Valor Significado
SB_CTL
Define o intervalo 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 o intervalo da barra de rolagem horizontal padrão de uma janela.
SB_VERT
Define o intervalo da barra de rolagem vertical padrão de uma janela.

[in] nMinPos

Tipo: int

Especifica a posição mínima de rolagem.

[in] nMaxPos

Tipo: int

Especifica a posição máxima de rolagem.

[in] bRedraw

Tipo: BOOL

Especifica se a barra de rolagem deve ser redesenhada para refletir a alteração. Se esse parâmetro for TRUE, a barra de rolagem será redesenhada. Se for FALSE, a barra de rolagem não será redesenhada.

Retornar valor

Tipo: BOOL

Se a função for bem-sucedida, o valor retornado será diferente de zero.

Se a função falhar, o valor retornado será zero. Para obter informações de erro estendidas, chame GetLastError.

Comentários

Você pode usar SetScrollRange para ocultar a barra de rolagem definindo nMinPos e nMaxPos com o mesmo valor. Um aplicativo não deve chamar a função SetScrollRange para ocultar uma barra de rolagem ao processar uma mensagem de barra de rolagem. Novos aplicativos devem usar a função ShowScrollBar para ocultar a barra de rolagem.

Se a chamada para SetScrollRange seguir imediatamente uma chamada para a função SetScrollPos , o parâmetro bRedraw em SetScrollPos deverá ser zero para impedir que a barra de rolagem seja desenhada duas vezes.

O intervalo padrão para uma barra de rolagem padrão é de 0 a 100. O intervalo padrão para um controle de barra de rolagem está vazio (os valores de parâmetro nMinPos e nMaxPos são zero). A diferença entre os valores especificados pelos parâmetros nMinPos e nMaxPos não deve ser maior que o valor de MAXLONG.

Como as mensagens que indicam a posição da barra de rolagem, WM_HSCROLL e WM_VSCROLL, são limitadas a 16 bits de dados de posição, os aplicativos que dependem apenas dessas mensagens para dados de posição têm um valor máximo prático de 65.535 para o parâmetro nMaxPos da função SetScrollRange.

No entanto, como as funções SetScrollInfo, SetScrollPos, SetScrollRange, GetScrollInfo, GetScrollPos e GetScrollRange dão suporte a dados de posição da barra de rolagem de 32 bits, há uma maneira de contornar a barreira de 16 bits das mensagens de WM_HSCROLL e WM_VSCROLL . Consulte GetScrollInfo para obter uma descrição da técnica.

Se o parâmetro nBar 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_SETRANGE para a janela para definir informações da barra de rolagem. Isso permite que SetScrollRange opere em um controle personalizado que imita uma barra de rolagem. Se a janela não manipular a mensagem SBM_SETRANGE , a função SetScrollRange falhará.

Exemplos

Para obter um exemplo, consulte Usando o formato da área de transferência Owner-Display.

Requisitos

Requisito Valor
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

GetScrollPos

GetScrollRange

Referência

Setscrollinfo

Setscrollpos

ShowScrollBar