Funzione SetScrollRange (winuser.h)

La funzione SetScrollRange imposta le posizioni della casella di scorrimento minima e massima per la barra di scorrimento specificata.

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

Sintassi

BOOL SetScrollRange(
  [in] HWND hWnd,
  [in] int  nBar,
  [in] int  nMinPos,
  [in] int  nMaxPos,
  [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 l'intervallo di un controllo barra di scorrimento. Il parametro hwnd deve essere l'handle per il controllo barra di scorrimento.
SB_HORZ
Imposta l'intervallo della barra di scorrimento orizzontale standard di una finestra.
SB_VERT
Imposta l'intervallo della barra di scorrimento verticale standard di una finestra.

[in] nMinPos

Tipo: int

Specifica la posizione di scorrimento minima.

[in] nMaxPos

Tipo: int

Specifica la posizione di scorrimento massima.

[in] bRedraw

Tipo: BOOL

Specifica se la barra di scorrimento deve essere ridisegnata per riflettere la modifica. Se questo parametro è TRUE, la barra di scorrimento viene ridisegnata. Se è FALSE, la barra di scorrimento non viene ridisegnata.

Valore restituito

Tipo: BOOL

Se la funzione ha esito positivo, il valore restituito è diverso da zero.

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

Commenti

È possibile usare SetScrollRange per nascondere la barra di scorrimento impostando nMinPos e nMaxPos sullo stesso valore. Un'applicazione non deve chiamare la funzione SetScrollRange per nascondere una barra di scorrimento durante l'elaborazione di un messaggio della barra di scorrimento. Le nuove applicazioni devono usare la funzione ShowScrollBar per nascondere la barra di scorrimento.

Se la chiamata a SetScrollRange segue immediatamente una chiamata alla funzione SetScrollPos , il parametro bRedraw in SetScrollPos deve essere zero per impedire che la barra di scorrimento venga disegnata due volte.

L'intervallo predefinito per una barra di scorrimento standard è compreso tra 0 e 100. L'intervallo predefinito per un controllo barra di scorrimento è vuoto (i valori dei parametri nMinPos e nMaxPos sono zero). La differenza tra i valori specificati dai parametri nMinPos e nMaxPos non deve essere maggiore del valore di MAXLONG.

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 nMaxPos della funzione SetScrollRange.

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_SETRANGE alla finestra per impostare le informazioni sulla barra di scorrimento. Ciò consente a SetScrollRange di operare su un controllo personalizzato che simula una barra di scorrimento. Se la finestra non gestisce il messaggio di SBM_SETRANGE , la funzione SetScrollRange ha esito negativo.

Esempio

Per un esempio, vedere Uso del formato degli Appunti Owner-Display.

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

GetScrollInfo

GetScrollPos

GetScrollRange

Riferimento

SetScrollInfo

SetScrollPos

ShowScrollBar