winuser.h


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.