Partager via


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.

Note La fonction SetScrollPos est fournie pour la compatibilité descendante. Les nouvelles applications doivent utiliser la fonction SetScrollInfo .
 

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.

Valeur Signification
SB_CTL
Définit la position de la zone de défilement dans un contrôle de barre de défilement. Le paramètre hwnd doit être la poignée du contrôle de barre de défilement.
SB_HORZ
Définit la position de la zone de défilement dans la barre de défilement horizontale standard d’une fenêtre.
SB_VERT
Définit la position de la zone de défilement dans la barre de défilement verticale standard d’une fenêtre.

[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

GetScrollInfo

GetScrollPos

GetScrollRange

Référence

SetScrollInfo

SetScrollRange