Compartir a través de


Función GetScrollInfo (winuser.h)

La función GetScrollInfo recupera los parámetros de una barra de desplazamiento, incluidas las posiciones de desplazamiento mínima y máxima, el tamaño de página y la posición del cuadro de desplazamiento (pulgar).

Sintaxis

BOOL GetScrollInfo(
  [in]      HWND         hwnd,
  [in]      int          nBar,
  [in, out] LPSCROLLINFO lpsi
);

Parámetros

[in] hwnd

Tipo: HWND

Controle un control de barra de desplazamiento o una ventana con una barra de desplazamiento estándar, en función del valor del parámetro fnBar .

[in] nBar

Tipo: int

Especifica el tipo de barra de desplazamiento para la que se van a recuperar parámetros. Este parámetro puede ser uno de los valores siguientes.

Valor Significado
SB_CTL
recupera los parámetros de un control de la barra de desplazamiento. El parámetro hwnd debe ser el identificador del control de barra de desplazamiento.
SB_HORZ
recupera los parámetros de la barra de desplazamiento horizontal estándar de la ventana.
SB_VERT
recupera los parámetros de la barra de desplazamiento vertical estándar de la ventana.

[in, out] lpsi

Tipo: LPSCROLLINFO

Puntero a una estructura SCROLLINFO . Antes de llamar a GetScrollInfo, establezca el miembro cbSize en sizeof(SCROLLINFO) y establezca el miembro fMask para especificar los parámetros de la barra de desplazamiento que se van a recuperar. Antes de devolverla, la función copia los parámetros especificados en los miembros adecuados de la estructura.

El miembro fMask puede ser uno o varios de los valores siguientes.

Valor Significado
SIF_PAGE
Copia la página de desplazamiento al miembro nPage de la estructura SCROLLINFO a la que apunta lpsi.
SIF_POS
Copia la posición de desplazamiento en el miembro nPos de la estructura SCROLLINFO a la que apunta lpsi.
SIF_RANGE
Copia el intervalo de desplazamiento a los miembros nMin y nMax de la estructura SCROLLINFO a la que apunta lpsi.
SIF_TRACKPOS
Copia la posición de seguimiento del cuadro de desplazamiento actual en el miembro nTrackPos de la estructura SCROLLINFO a la que apunta lpsi.

Valor devuelto

Tipo: BOOL

Si la función recuperó algún valor, el valor devuelto es distinto de cero.

Si la función no recupera ningún valor, el valor devuelto es cero. Para obtener información de error extendida, llame a GetLastError.

Comentarios

La función GetScrollInfo permite a las aplicaciones usar posiciones de desplazamiento de 32 bits. Aunque los mensajes que indican la posición de la barra de desplazamiento, WM_HSCROLL y WM_VSCROLL, proporcionan solo 16 bits de datos de posición, las funciones SetScrollInfo y GetScrollInfo proporcionan 32 bits de datos de posición de barra de desplazamiento. Por lo tanto, una aplicación puede llamar a GetScrollInfo mientras procesa el WM_HSCROLL o WM_VSCROLL mensajes para obtener datos de posición de la barra de desplazamiento de 32 bits.

Para obtener la posición de 32 bits del cuadro de desplazamiento (pulgar) durante un código de solicitud de SB_THUMBTRACK en un mensaje de WM_HSCROLL o WM_VSCROLL , llame a GetScrollInfo con el valor SIF_TRACKPOS en el miembro fMask de la estructura SCROLLINFO . La función devuelve la posición de seguimiento del cuadro de desplazamiento en el miembro nTrackPos de la estructura SCROLLINFO . Esto le permite obtener la posición del cuadro de desplazamiento a medida que el usuario lo mueve. En el código de ejemplo siguiente se muestra la técnica .

SCROLLINFO si;
case WM_HSCROLL:
    switch(LOWORD(wparam)) {
        case SB_THUMBTRACK:
          // Initialize SCROLLINFO structure
 
            ZeroMemory(&si, sizeof(si));
            si.cbSize = sizeof(si);
            si.fMask = SIF_TRACKPOS;
 
          // Call GetScrollInfo to get current tracking 
          //    position in si.nTrackPos
 
            if (!GetScrollInfo(hwnd, SB_HORZ, &si) )
                return 1; // GetScrollInfo failed
            break;
        .
        .
        .
    }

Si el parámetro fnBar 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_GETSCROLLINFO a la ventana para obtener información de la barra de desplazamiento. Esto permite que GetScrollInfo funcione en un control personalizado que imita una barra de desplazamiento. Si la ventana no controla el mensaje de SBM_GETSCROLLINFO , se produce un error en la función GetScrollInfo .

Requisitos

Requisito Value
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 (incluya 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

SCROLLINFO

SetScrollInfo

WM_HSCROLL

WM_VSCROLL