(win32) scroll max

Résolu
mogwai93 Messages postés 362 Date d'inscription mardi 31 décembre 2002 Statut Membre Dernière intervention 4 novembre 2023 - 4 févr. 2007 à 08:15
mogwai93 Messages postés 362 Date d'inscription mardi 31 décembre 2002 Statut Membre Dernière intervention 4 novembre 2023 - 4 févr. 2007 à 14:49
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

vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
4 févr. 2007 à 11:28
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
3
SnOOpss Messages postés 571 Date d'inscription samedi 3 avril 2004 Statut Membre Dernière intervention 5 décembre 2013
4 févr. 2007 à 12:19
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)
0
mogwai93 Messages postés 362 Date d'inscription mardi 31 décembre 2002 Statut Membre Dernière intervention 4 novembre 2023
4 févr. 2007 à 14:49
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
0
Rejoignez-nous