Fonction SetScrollPos (winuser.h)
La fonction SetScrollPos définit la position de la zone de défilement (pouce) dans la barre de défilement spécifiée et, si nécessaire, redessine la barre de défilement pour refléter la nouvelle position de la zone de défilement.
Syntaxe
int SetScrollPos(
[in] HWND hWnd,
[in] int nBar,
[in] int nPos,
[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] nPos
Type : int
Spécifie la nouvelle position de la zone de défilement. La position doit se trouver dans la plage de défilement. Pour plus d’informations sur la plage de défilement, consultez la fonction SetScrollRange .
[in] bRedraw
Type : BOOL
Spécifie si la barre de défilement est redessinée pour refléter la nouvelle position de la zone de défilement. 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 : int
Si la fonction réussit, la valeur de retour correspond à la position précédente de la zone de défilement.
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
Si la barre de défilement est redessinée par un appel suivant à une autre fonction, il est utile de définir le paramètre bRedraw sur FALSE .
É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 nPos de la fonction SetScrollPos.
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_SETPOS à la fenêtre pour définir les informations de la barre de défilement. Cela permet à SetScrollPos 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_SETPOS , la fonction SetScrollPos échoue.
Spécifications
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