GetScrollInfo
La función GetScrollInfo recupera los parámetros de un scrollbar, incluyendo las posiciones mínima y máxima de desplazamiento, el tamaño de la página y la posición de la caja de desplazamiento (thumb).
Sintaxis
BOOL GetScrollInfo( HWND hwnd, // manipulador de la ventana con el scrollbar int fnBar, // flag del scrollbar LPSCROLLINFO lpsi, // puntero a estructura con los parámetros de desplazamiento );
Parámetros:
hwnd: identifica el control scrollbar o la ventana con un scrollbar estándar, dependiendo del valor del parámetro fnBar.
fnBar: especifica el tipo de scrollbar cuyos parámetros se recuperarán. Puede tener uno de los siguientes valores:
Valor | Significado |
---|---|
SB_CTL | Recupera los parámetros de un control scrollbar. El parámetro hwnd debe ser un manipulador del control scrollbar. |
SB_HORZ | Recupera los parámetros del scrollbar estándar horizontal de una ventana. |
SB_VERT | Recupera los parámetros del scrollbar estándar vertical de una ventana. |
lpsi: puntero a una estructura SCROLLINFO cuyo miembro fMask, especifica los parámetros del scrollbar a recuperar. Antes de retornar, la función copia los parámetros especificados a los miembros apropiados de la estructura.
El miembro fMask puede ser una combinación de los siguientes valores:
Valor | Significado |
---|---|
SIF_ALL | Combinación de SIF_PAGE, SIF_POS y SIF_RANGE. |
SIF_PAGE | Copia el valor de la página de desplazamiento al miembro nPage de la estructura SCROLLINFO apuntada por lpsi. |
SIF_POS | Copia el valor de la posición de desplazamiento al miembro nPos de la estructura SCROLLINFO apuntada por lpsi. |
SIF_RANGE | Copia el rango de desplazamiento a los miembros nMin y nMax de la estructura SCROLLINFO apuntada por lpsi. |
Valor de retorno
Si la función recupera algún valor, retorna con un valor distinto de cero.
Si no recupera ningún valor el valor de retorno es cero.
Observaciones
La función GetScrollInfo permite usar posiciones de desplazamiento de 32-bits. Como los mensajes que indican posiciones de barra de desplazamiento, WM_HSCROLL y WM_VSCROLL, están limitados a 16 bits para el dato de la posición, las funciones SetScrollInfo y GetScrollInfo suministran valores de posiciones de 32 bit. Así que, una aplicación puede llamar a GetScrollInfo mientras procesa los mensajes WM_HSCROLL o WM_VSCROLL para obtener posiciones de 32-bits.
La limitación de esta técnica aparece cuando se procesan desplazamientos de contenidos de ventana en tiempo real. Una aplicación implementa este proceso procesando los mensajes WM_HSCROLL o WM_VSCROLL que arrastran 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. Ya que GetScrollInfo 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.