Funzione SetScrollRange (winuser.h)
La funzione SetScrollRange imposta le posizioni della casella di scorrimento minima e massima per la barra di scorrimento specificata.
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.
[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
Riferimento