Condividi tramite


Funzione SetScrollPos (winuser.h)

La funzione SetScrollPos imposta la posizione della casella di scorrimento (pollice) nella barra di scorrimento specificata e, se richiesto, ridisegna la barra di scorrimento in modo da riflettere la nuova posizione della casella di scorrimento.

Nota La funzione SetScrollPos viene fornita per la compatibilità con le versioni precedenti. Le nuove applicazioni devono usare la funzione SetScrollInfo .
 

Sintassi

int SetScrollPos(
  [in] HWND hWnd,
  [in] int  nBar,
  [in] int  nPos,
  [in] BOOL bRedraw
);

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 nBar .

[in] nBar

Tipo: int

Specifica la barra di scorrimento da impostare. Questo parametro può avere uno dei valori seguenti.

Valore Significato
SB_CTL
Imposta la posizione della casella di scorrimento in un controllo barra di scorrimento. Il parametro hwnd deve essere l'handle per il controllo barra di scorrimento.
SB_HORZ
Imposta la posizione della casella di scorrimento nella barra di scorrimento orizzontale standard di una finestra.
SB_VERT
Imposta la posizione della casella di scorrimento nella barra di scorrimento verticale standard di una finestra.

[in] nPos

Tipo: int

Specifica la nuova posizione della casella di scorrimento. La posizione deve essere compresa nell'intervallo di scorrimento. Per altre informazioni sull'intervallo di scorrimento, vedere la funzione SetScrollRange .

[in] bRedraw

Tipo: BOOL

Specifica se la barra di scorrimento viene ridisegnata per riflettere la nuova posizione della casella di scorrimento. Se questo parametro è TRUE, la barra di scorrimento viene ridisegnata. Se è FALSE, la barra di scorrimento non viene ridisegnata.

Valore restituito

Tipo: int

Se la funzione ha esito positivo, il valore restituito corrisponde alla posizione precedente della casella di scorrimento.

Se la funzione ha esito negativo, il valore restituito è zero. Per informazioni dettagliate sull'errore, chiamare GetLastError.

Commenti

Se la barra di scorrimento viene ridisegnata da una chiamata successiva a un'altra funzione, è utile impostare il parametro bRedraw su FALSE .

Poiché i messaggi che indicano la posizione della barra di scorrimento, WM_HSCROLL e WM_VSCROLL, sono limitati a 16 bit di dati di posizione, le applicazioni che si basano esclusivamente su tali messaggi per i dati di posizione hanno un valore massimo pratico di 65.535 per il parametro nPos della funzione SetScrollPos.

Tuttavia, poiché le funzioni SetScrollInfo, SetScrollPos,SetScrollRange, GetScrollInfo, GetScrollPos e GetScrollRange supportano i dati di posizione della barra di scorrimento a 32 bit, esiste un modo per aggirare la barriera a 16 bit della WM_HSCROLL e dei messaggi WM_VSCROLL . Per una descrizione della tecnica, vedere GetScrollInfo .

Se il parametro nBar è SB_CTL e la finestra specificata dal parametro hWnd non è un controllo barra di scorrimento di sistema, il sistema invia il messaggio SBM_SETPOS alla finestra per impostare le informazioni sulla barra di scorrimento. Ciò consente a SetScrollPos di operare su un controllo personalizzato che simula una barra di scorrimento. Se la finestra non gestisce il messaggio SBM_SETPOS , la funzione SetScrollPos ha esito negativo.

Requisiti

   
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

GetScrollInfo

GetScrollPos

GetScrollRange

Riferimento

SetScrollInfo

SetScrollRange