Função SetScrollPos (winuser.h)

A função SetScrollPos define a posição da caixa de rolagem (polegar) na barra de rolagem especificada e, se solicitada, redesenha a barra de rolagem para refletir a nova posição da caixa de rolagem.

Nota A função SetScrollPos é fornecida para compatibilidade com versões anteriores. Novos aplicativos devem usar a função SetScrollInfo .
 

Sintaxe

int SetScrollPos(
  [in] HWND hWnd,
  [in] int  nBar,
  [in] int  nPos,
  [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 a posição da caixa de rolagem em um controle de barra de rolagem. O parâmetro hwnd deve ser o identificador para o controle de barra de rolagem.
SB_HORZ
Define a posição da caixa de rolagem na barra de rolagem horizontal padrão de uma janela.
SB_VERT
Define a posição da caixa de rolagem na barra de rolagem vertical padrão de uma janela.

[in] nPos

Tipo: int

Especifica a nova posição da caixa de rolagem. A posição deve estar dentro do intervalo de rolagem. Para obter mais informações sobre o intervalo de rolagem, consulte a função SetScrollRange .

[in] bRedraw

Tipo: BOOL

Especifica se a barra de rolagem é redesenhada para refletir a nova posição da caixa de rolagem. Se esse parâmetro for TRUE, a barra de rolagem será redesenhada. Se for FALSE, a barra de rolagem não será redesenhada.

Valor retornado

Tipo: int

Se a função for bem-sucedida, o valor retornado será a posição anterior da caixa de rolagem.

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

Comentários

Se a barra de rolagem for redesenhada por uma chamada subsequente para outra função, definir o parâmetro bRedraw como FALSE será útil.

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 exclusivamente dessas mensagens para dados de posição têm um valor máximo prático de 65.535 para o parâmetro nPos da função SetScrollPos.

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 do WM_HSCROLL e WM_VSCROLL mensagens. 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_SETPOS para a janela para definir informações da barra de rolagem. Isso permite que SetScrollPos opere em um controle personalizado que imita uma barra de rolagem. Se a janela não manipular a mensagem SBM_SETPOS , a função SetScrollPos falhará.

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

Getscrollinfo

GetScrollPos

GetScrollRange

Referência

Setscrollinfo

Setscrollrange