Funzione GetScrollInfo (winuser.h)

La funzione GetScrollInfo recupera i parametri di una barra di scorrimento, incluse le posizioni di scorrimento minime e massime, le dimensioni della pagina e la posizione della casella di scorrimento (pollice).

Sintassi

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

Parametri

[in] hwnd

Tipo: HWND

Gestire un controllo barra di scorrimento o una finestra con una barra di scorrimento standard, a seconda del valore del parametro fnBar .

[in] nBar

Tipo: int

Specifica il tipo di barra di scorrimento per cui recuperare i parametri. Questo parametro può avere uno dei valori seguenti.

Valore Significato
SB_CTL
Recupera i parametri per un controllo barra di scorrimento. Il parametro hwnd deve essere l'handle per il controllo barra di scorrimento.
SB_HORZ
Recupera i parametri per la barra di scorrimento orizzontale standard della finestra.
SB_VERT
Recupera i parametri per la barra di scorrimento verticale standard della finestra.

[in, out] lpsi

Tipo: LPSCROLLINFO

Puntatore a una struttura SCROLLINFO . Prima di chiamare GetScrollInfo, impostare il membro cbSize su sizeof(SCROLLINFO) e impostare il membro fMask per specificare i parametri della barra di scorrimento da recuperare. Prima di restituire , la funzione copia i parametri specificati nei membri appropriati della struttura.

Il membro fMask può essere uno o più dei valori seguenti.

Valore Significato
SIF_PAGE
Copia la pagina di scorrimento nel membro nPage della struttura SCROLLINFO a cui punta lpsi.
SIF_POS
Copia la posizione di scorrimento nel membro nPos della struttura SCROLLINFO a cui punta lpsi.
SIF_RANGE
Copia l'intervallo di scorrimento nei membri nMin e nMax della struttura SCROLLINFO a cui punta lpsi.
SIF_TRACKPOS
Copia la posizione di rilevamento casella di scorrimento corrente nel membro nTrackPos della struttura SCROLLINFO a cui punta lpsi.

Valore restituito

Tipo: BOOL

Se la funzione ha recuperato valori, il valore restituito è diverso da zero.

Se la funzione non recupera valori, il valore restituito è zero. Per informazioni dettagliate sull'errore, chiamare GetLastError.

Commenti

La funzione GetScrollInfo consente alle applicazioni di usare posizioni di scorrimento a 32 bit. Anche se i messaggi che indicano la posizione della barra di scorrimento, WM_HSCROLL e WM_VSCROLL, forniscono solo 16 bit di dati di posizione, le funzioni SetScrollInfo e GetScrollInfo forniscono 32 bit di dati sulla posizione della barra di scorrimento. Pertanto, un'applicazione può chiamare GetScrollInfo durante l'elaborazione dei messaggi WM_HSCROLL o WM_VSCROLL per ottenere i dati di posizione della barra di scorrimento a 32 bit.

Per ottenere la posizione a 32 bit della casella di scorrimento (pollice) durante un codice di richiesta SB_THUMBTRACK in un messaggio di WM_HSCROLL o WM_VSCROLL , chiamare GetScrollInfo con il valore SIF_TRACKPOS nel membro fMask della struttura SCROLLINFO . La funzione restituisce la posizione di rilevamento della casella di scorrimento nel membro nTrackPos della struttura SCROLLINFO . In questo modo è possibile ottenere la posizione della casella di scorrimento mentre l'utente lo sposta. Il codice di esempio seguente illustra la tecnica .

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;
        .
        .
        .
    }

Se il parametro fnBar è SB_CTL e la finestra specificata dal parametro hwnd non è un controllo barra di scorrimento di sistema, il sistema invia il messaggio SBM_GETSCROLLINFO alla finestra per ottenere informazioni sulla barra di scorrimento. Ciò consente a GetScrollInfo di operare su un controllo personalizzato che simula una barra di scorrimento. Se la finestra non gestisce il messaggio di SBM_GETSCROLLINFO , la funzione GetScrollInfo ha esito negativo.

Requisiti

Requisito Valore
Client minimo supportato Windows Vista [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione winuser.h (include Windows.h)
Libreria User32.lib
DLL User32.dll
Set di API ext-ms-win-ntuser-misc-l1-2-0 (introdotto in Windows 8.1)

Vedi anche

Riferimento

SCROLLINFO

SetScrollInfo

WM_HSCROLL

WM_VSCROLL