(win32) scroll max

Résolu
Signaler
Messages postés
361
Date d'inscription
mardi 31 décembre 2002
Statut
Membre
Dernière intervention
19 mars 2015
-
Messages postés
361
Date d'inscription
mardi 31 décembre 2002
Statut
Membre
Dernière intervention
19 mars 2015
-
Bonjour

J'ai une fenetre avec comme proprietes WS_VSCROLL et WS_HSCROLL
j'aimerais savoir quand les scrolls se trouvent aux extremites, sachant que la fenetre est redimensionnable (la taille des scrolls changeant en fonction de la taille de la fenetre)

j'ai essayé avec                    GetScrollInfo(hWnd, SB_VERT, &info_scroll_vert);
en testant nPos et nMax de info_scroll_vert
mais nPos me donne la position du début du scroll....
donc il me faudrait un truc du genre :
si (nPos + taille_du_scroll) == nMax
donc je cherche ici taille_du_scroll ou tout autre moyen me disant que je ne peux plus scroller dans un sens

Merci

3 réponses

Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Membre
Dernière intervention
22 août 2010
10
Je crois que tu peux faire comme ceci:
if(info_scroll_vert.nPos + info_scroll_vert.nPage == info_scroll_vert.nMax) {
  ...
}

_____________________________________
Un éditeur de ressources gratuit pour Windows
Messages postés
571
Date d'inscription
samedi 3 avril 2004
Statut
Membre
Dernière intervention
5 décembre 2013

Avec la fonction GetScrollBarInfo() tu peut recuperer les coordonnées x,y,w,h de ta scroolbar ET les coordonnées (x,y,w,h) du thumb (avec un petit calcul)
Messages postés
361
Date d'inscription
mardi 31 décembre 2002
Statut
Membre
Dernière intervention
19 mars 2015

la méthode de vecchio a marché à 1 pixel près
(c'est peut etre mon nMax qui est mal calculé, je vais voir ça)

if(info_scroll_vert.nPos + info_scroll_vert.nPage + 1 == info_scroll_vert.nMax) {
  ...
}

merci encore