GetScrollInfo, fonction (winuser.h)
La fonction GetScrollInfo récupère les paramètres d’une barre de défilement, notamment les positions de défilement minimales et maximales, la taille de la page et la position de la zone de défilement (pouce).
Syntaxe
BOOL GetScrollInfo(
[in] HWND hwnd,
[in] int nBar,
[in, out] LPSCROLLINFO lpsi
);
Paramètres
[in] hwnd
Type : HWND
Gérez 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 fnBar .
[in] nBar
Type : int
Spécifie le type de barre de défilement pour lequel récupérer les paramètres. Ce paramètre peut prendre les valeurs suivantes.
[in, out] lpsi
Type : LPSCROLLINFO
Pointeur vers une structure SCROLLINFO . Avant d’appeler GetScrollInfo, définissez le membre cbSize sur sizeof(SCROLLINFO) et définissez le membre fMask pour spécifier les paramètres de la barre de défilement à récupérer. Avant de retourner, la fonction copie les paramètres spécifiés dans les membres appropriés de la structure.
Le membre fMask peut être une ou plusieurs des valeurs suivantes.
Valeur | Signification |
---|---|
|
Copie la page de défilement dans le membre nPage de la structure SCROLLINFO pointée par lpsi. |
|
Copie la position de défilement dans le membre nPos de la structure SCROLLINFO pointée par lpsi. |
|
Copie la plage de défilement vers les membres nMin et nMax de la structure SCROLLINFO pointée vers lpsi. |
|
Copie la position de suivi de la zone de défilement actuelle dans le membre nTrackPos de la structure SCROLLINFO pointée vers lpsi. |
Valeur retournée
Type : BOOL
Si la fonction a récupéré des valeurs, la valeur de retour est différente de zéro.
Si la fonction ne récupère aucune valeur, la valeur de retour est zéro. Pour obtenir des informations détaillées sur l’erreur, appelez GetLastError.
Remarques
La fonction GetScrollInfo permet aux applications d’utiliser des positions de défilement 32 bits. Bien que les messages qui indiquent la position de la barre de défilement, WM_HSCROLL et WM_VSCROLL, fournissent seulement 16 bits de données de position, les fonctions SetScrollInfo et GetScrollInfo fournissent 32 bits de données de position de la barre de défilement. Ainsi, une application peut appeler GetScrollInfo lors du traitement des messages WM_HSCROLL ou WM_VSCROLL pour obtenir des données de position de la barre de défilement 32 bits.
Pour obtenir la position 32 bits de la zone de défilement (pouce) pendant une SB_THUMBTRACK code de requête dans un message WM_HSCROLL ou WM_VSCROLL , appelez GetScrollInfo avec la valeur SIF_TRACKPOS dans le membre fMask de la structure SCROLLINFO . La fonction retourne la position de suivi de la zone de défilement dans le membre nTrackPos de la structure SCROLLINFO . Cela vous permet d’obtenir la position de la zone de défilement à mesure que l’utilisateur la déplace. L’exemple de code suivant illustre la technique.
SCROLLINFO si;
case WM_HSCROLL:
switch(LOWORD(wparam)) {
case SB_THUMBTRACK:
// Initialize SCROLLINFO structure
ZeroMemory(&si, sizeof(si));
si.cbSize = sizeof(si);
si.fMask = SIF_TRACKPOS;
// Call GetScrollInfo to get current tracking
// position in si.nTrackPos
if (!GetScrollInfo(hwnd, SB_HORZ, &si) )
return 1; // GetScrollInfo failed
break;
.
.
.
}
Si le paramètre fnBar 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_GETSCROLLINFO à la fenêtre pour obtenir des informations de barre de défilement. Cela permet à GetScrollInfo 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_GETSCROLLINFO , la fonction GetScrollInfo échoue.
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