Fonction SetScrollRange (winuser.h)
La fonction SetScrollRange définit les positions de zone de défilement minimales et maximales pour la barre de défilement spécifiée.
Syntaxe
BOOL SetScrollRange(
[in] HWND hWnd,
[in] int nBar,
[in] int nMinPos,
[in] int nMaxPos,
[in] BOOL bRedraw
);
Paramètres
[in] hWnd
Type : HWND
Gérez vers un contrôle de barre de défilement ou une fenêtre avec une barre de défilement standard, en fonction de la valeur du paramètre nBar .
[in] nBar
Type : int
Spécifie la barre de défilement à définir. Ce paramètre peut prendre les valeurs suivantes.
[in] nMinPos
Type : int
Spécifie la position de défilement minimale.
[in] nMaxPos
Type : int
Spécifie la position de défilement maximale.
[in] bRedraw
Type : BOOL
Spécifie si la barre de défilement doit être redessinée pour refléter la modification. Si ce paramètre a la valeur TRUE, la barre de défilement est redessinée. Si elle est FALSE, la barre de défilement n’est pas redessinée.
Valeur retournée
Type : BOOL
Si la fonction réussit, la valeur de retour est différente de zéro.
Si la fonction échoue, la valeur de retour est égale à zéro. Pour obtenir des informations détaillées sur l’erreur, appelez GetLastError.
Remarques
Vous pouvez utiliser SetScrollRange pour masquer la barre de défilement en définissant nMinPos et nMaxPos sur la même valeur. Une application ne doit pas appeler la fonction SetScrollRange pour masquer une barre de défilement lors du traitement d’un message de barre de défilement. Les nouvelles applications doivent utiliser la fonction ShowScrollBar pour masquer la barre de défilement.
Si l’appel à SetScrollRange suit immédiatement un appel à la fonction SetScrollPos , le paramètre bRedraw dans SetScrollPos doit être égal à zéro pour empêcher la barre de défilement d’être dessinée deux fois.
La plage par défaut d’une barre de défilement standard est comprise entre 0 et 100. La plage par défaut d’un contrôle de barre de défilement est vide (les valeurs des paramètres nMinPos et nMaxPos sont égales à zéro). La différence entre les valeurs spécifiées par les paramètres nMinPos et nMaxPos ne doit pas être supérieure à la valeur de MAXLONG.
Étant donné que les messages qui indiquent la position de la barre de défilement, WM_HSCROLL et WM_VSCROLL, sont limités à 16 bits de données de position, les applications qui s’appuient uniquement sur ces messages pour les données de position ont une valeur maximale pratique de 65 535 pour le paramètre nMaxPos de la fonction SetScrollRange.
Toutefois, étant donné que les fonctions SetScrollInfo, SetScrollPos, SetScrollRange, GetScrollInfo, GetScrollPos et GetScrollRange prennent en charge les données de position de la barre de défilement 32 bits, il existe un moyen de contourner la barrière 16 bits des messages WM_HSCROLL et WM_VSCROLL . Pour obtenir une description de la technique, consultez GetScrollInfo .
Si le paramètre nBar est SB_CTL et que la fenêtre spécifiée par le paramètre hWnd n’est pas un contrôle de barre de défilement système, le système envoie le message SBM_SETRANGE à la fenêtre pour définir les informations de la barre de défilement. Cela permet à SetScrollRange de fonctionner sur un contrôle personnalisé qui imite une barre de défilement. Si la fenêtre ne gère pas le message SBM_SETRANGE , la fonction SetScrollRange échoue.
Exemples
Pour obtenir un exemple, consultez Utilisation du format presse-papiers Owner-Display.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows Vista [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2003 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | winuser.h (inclure Windows.h) |
Bibliothèque | User32.lib |
DLL | User32.dll |
Ensemble d’API | ext-ms-win-ntuser-misc-l1-2-0 (introduit dans Windows 8.1) |
Voir aussi
Référence