Pb fonction OnHScroll

Résolu
ju654 Messages postés 3 Date d'inscription mardi 7 mai 2013 Statut Membre Dernière intervention 6 octobre 2005 - 5 oct. 2005 à 18:32
ju654 Messages postés 3 Date d'inscription mardi 7 mai 2013 Statut Membre Dernière intervention 6 octobre 2005 - 6 oct. 2005 à 10:47
Bonjour à tous,



Voila mon pb:

J'ai fait une appli MFC avec MDI, puis j'ai ajouté des ScrollBar à mes fenêtres. Jusque là pas de pb.

Dans ma fonction "OnHScroll(UINT nSBCode, UINT nPos, CScrollBar*
pScrollBar)", j'ai pScrollBar = NULL alors que nSBCode renvoie
bien le bon code...



Est-ce que qqn sait d'où cela peut venir?

Merci d'avance.

4 réponses

ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
6 oct. 2005 à 09:32
Si le param est NULL c'est que le message est envoyé depuis un scrollbar intégré à une fenêtre. Ca marche très bien comme cela. Pour les fcts ayant besoin d'un contrôle (genre SetScrollPos ), il suffit de donner le handle de la fenmetre et SB_VERT ou SB_HORZ au lieu de SB_CTL.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/commctls/scrollbars/scrollbarreference/scrollbarfunctions/setscrollpos.asp

En gros ce n'est pas un pb que pScrollBar soit NULL car en général il ne sert pas (surtout en MFC car il existe des fcts qui vérifient de quel type de scrollbar il s'agit, il suffit alors de spécifier SB_VERT ou SB_HORZ pour modifier les params du scrollbar.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/_mfc_cwnd.3a3a.setscrollpos.asp
3
ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
5 oct. 2005 à 18:44
C'est normal si les scrollbars sont directement inclus dans les styles de la fenêtre (WS_HSCROLL). et pas créés avec CreateWindow.

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/commctls/scrollbars/scrollbarreference/scrollbarmessages/wm_hscroll.asp
0
ju654 Messages postés 3 Date d'inscription mardi 7 mai 2013 Statut Membre Dernière intervention 6 octobre 2005
5 oct. 2005 à 19:19
A quel endroit doit-on appeler CreateWindow?

Il faut créer un objet CScrollBar?



Merci à toi.
0
ju654 Messages postés 3 Date d'inscription mardi 7 mai 2013 Statut Membre Dernière intervention 6 octobre 2005
6 oct. 2005 à 10:47
Pb résolu,



Milles merci à toi ymca2003.



A++
0
Rejoignez-nous