GetScrollPos
La función GetScrollPos recupera la posición actual de la caja de desplazamiento (thumb) de la barra de desplazamiento especificada. La posición actual es un valor relativo que depende del rango actual de la barra de desplazamiento. Por ejemplo, si el rango de desplazamiento está entre 0 y 100 y la caja de desplazamiento esta en el centro de la barra, la posición actual es 50.
Sintaxis
int GetScrollPos( HWND hWnd, // manipulador de la ventana con el scrollbar int nBar // bandera de barra de desplazamiento );
Parámetros
hWnd: identifica el control de barra de desplazamiento o la ventana con una barra de desplazamiento estándar, dependiendo del valor del parámetro nBar.
nBar: especifica el scrollbar a modificar. Puede tener uno de los siguientes valores:
Valor | Significado |
---|---|
SB_CTL | Recupera la posición de la caja de desplazamiento de un control de barra de desplazamiento. El parámetro hwnd debe ser un manipulador del control de barra de desplazamiento. |
SB_HORZ | Recupera la posición de la caja de desplazamiento de la barra de desplazamiento horizontal estándar de una ventana. |
SB_VERT | Recupera la posición de la caja de desplazamiento de la barra de desplazamiento vertical estándar de una ventana. |
Valor de retorno
Si la función tiene éxito, el valor de retorno es el valor de la posición actual de la caja de desplazamiento.
Si falla, el valor de retorno es cero. Para conseguir más información, se puede llamar a GetLastError.
Observaciones
La función GetScrollPos permite a las aplicaciones usar posiciones de desplazamiento de 32-bits. A pesar de que los mensajes que indican posiciones de barra de desplazamiento, WM_HSCROLL y WM_VSCROLL, están limitados a posiciones de 16 bits, las funciones SetScrollPos, SetScrollRange, GetScrollPos y GetScrollRange soportan posiciones de barra de desplazamiento de 32-bit. De modo que una aplicación puede llamar a GetScrollPos mientras procesa mensajes WM_HSCROLL o WM_VSCROLL para obtener datos de posiciones de 32-bits.
La limitación de esta técnica aparece cuando se procesan desplazamientos en tiempo real. Ese proceso se hace respondiendo a los mensajes WM_HSCROLL o WM_VSCROLL que poseen el valor de notificación SB_THUMBTRACK, y actualizando la posición de la caja de scroll (thumb) al mismo tiempo que el usuario la mueve. Desgraciadamente, no existe ninguna función para recuperar la posición de 32-bits del thumb mientras el usuario lo mueve. GetScrollPos proporciona sólo un dato de posición estática; las aplicaciones sólo pueden obtener posiciones de 32-bits antes o después de que el desplazamiento haya tenido lugar.