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.
[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 |
---|---|
|
Copia la página de desplazamiento al miembro nPage de la estructura SCROLLINFO a la que apunta lpsi. |
|
Copia la posición de desplazamiento en el miembro nPos de la estructura SCROLLINFO a la que apunta lpsi. |
|
Copia el intervalo de desplazamiento a los miembros nMin y nMax de la estructura SCROLLINFO a la que apunta lpsi. |
|
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