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.
[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 |
---|---|
|
Copia la pagina di scorrimento nel membro nPage della struttura SCROLLINFO a cui punta lpsi. |
|
Copia la posizione di scorrimento nel membro nPos della struttura SCROLLINFO a cui punta lpsi. |
|
Copia l'intervallo di scorrimento nei membri nMin e nMax della struttura SCROLLINFO a cui punta lpsi. |
|
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