Función SetScrollPos (winuser.h)

La función SetScrollPos establece la posición del cuadro de desplazamiento (pulgar) en la barra de desplazamiento especificada y, si se solicita, vuelve a dibujar la barra de desplazamiento para reflejar la nueva posición del cuadro de desplazamiento.

Nota La función SetScrollPos se proporciona por motivos de compatibilidad con versiones anteriores. Las nuevas aplicaciones deben usar la función SetScrollInfo .
 

Sintaxis

int SetScrollPos(
  [in] HWND hWnd,
  [in] int  nBar,
  [in] int  nPos,
  [in] BOOL bRedraw
);

Parámetros

[in] hWnd

Tipo: HWND

Controle un control de barra de desplazamiento o una ventana con una barra de desplazamiento estándar, según el valor del parámetro nBar .

[in] nBar

Tipo: int

Especifica la barra de desplazamiento que se va a establecer. Este parámetro puede ser uno de los valores siguientes.

Valor Significado
SB_CTL
Establece la posición del cuadro de desplazamiento en un control de barra de desplazamiento. El parámetro hwnd debe ser el identificador del control de barra de desplazamiento.
SB_HORZ
Establece la posición del cuadro de desplazamiento en la barra de desplazamiento horizontal estándar de una ventana.
SB_VERT
Establece la posición del cuadro de desplazamiento en la barra de desplazamiento vertical estándar de una ventana.

[in] nPos

Tipo: int

Especifica la nueva posición del cuadro de desplazamiento. La posición debe estar dentro del intervalo de desplazamiento. Para obtener más información sobre el intervalo de desplazamiento, vea la función SetScrollRange .

[in] bRedraw

Tipo: BOOL

Especifica si la barra de desplazamiento se vuelve a dibujar para reflejar la nueva posición del cuadro de desplazamiento. Si este parámetro es TRUE, se vuelve a dibujar la barra de desplazamiento. Si es FALSE, la barra de desplazamiento no se vuelve a dibujar.

Valor devuelto

Tipo: int

Si la función se ejecuta correctamente, el valor devuelto es la posición anterior del cuadro de desplazamiento.

Si la función no se realiza correctamente, el valor devuelto es cero. Para obtener información de error extendida, llame a GetLastError.

Comentarios

Si la barra de desplazamiento se vuelve a dibujar mediante una llamada posterior a otra función, es útil establecer el parámetro bRedraw en FALSE .

Dado que los mensajes que indican la posición de la barra de desplazamiento, WM_HSCROLL y WM_VSCROLL, están limitados a 16 bits de datos de posición, las aplicaciones que dependen únicamente de esos mensajes para los datos de posición tienen un valor máximo práctico de 65 535 para el parámetro nPos de la función SetScrollPos.

Sin embargo, dado que las funciones SetScrollInfo, SetScrollPos, SetScrollRange, GetScrollInfo, GetScrollPos y GetScrollRange admiten datos de posición de barra de desplazamiento de 32 bits, hay una manera de eludir la barrera de 16 bits de los mensajes de WM_HSCROLL y WM_VSCROLL . Consulte GetScrollInfo para obtener una descripción de la técnica.

Si el parámetro nBar es SB_CTL y la ventana especificada por el parámetro hWnd no es un control de barra de desplazamiento del sistema, el sistema envía el mensaje SBM_SETPOS a la ventana para establecer la información de la barra de desplazamiento. Esto permite que SetScrollPos funcione en un control personalizado que imita una barra de desplazamiento. Si la ventana no controla el mensaje de SBM_SETPOS , se produce un error en la función SetScrollPos .

Requisitos

   
Cliente mínimo compatible Windows Vista [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado winuser.h (incluir Windows.h)
Library User32.lib
Archivo DLL User32.dll
Conjunto de API ext-ms-win-ntuser-misc-l1-2-0 (introducido en Windows 8.1)

Consulte también

GetScrollInfo

GetScrollPos

GetScrollRange

Referencia

SetScrollInfo

SetScrollRange