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.
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.
[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
Referencia