Le paramètre wParam
du message WM_VSCROLL
est soit SB_TOP
, SB_BOTTOM
, SB_PAGEUP
, SB_PAGEDOWN
, SB_LINEUP
, SB_LINEDOWN
, SB_THUMBPOSITION
ou SB_THUMBTRACK
, où les noms doivent s'expliquer.
SB_TOP
et SB_BOTTOM
signifie que la fenêtre de défilement est d'aller en haut ou en bas, respectivement. Ces messages peuvent être envoyés en cliquant avec le bouton droit sur une barre de défilement verticale et en sélectionnant "Haut" et "Bas". (Regardez dans le bloc-notes de Windows, Win XP +, par exemple.)
SB_PAGEUP
et SB_PAGEDOWN
signifie une page (écran) vers le haut ou vers le bas. Ceux-ci sont envoyés si vous cliquez quelque part sur la barre de défilement à côté du pouce ou sur les flèches haut ou bas, ou si vous utilisez le menu contextuel de la barre de défilement.
SB_LINEUP
et SB_LINEDOWN
sont envoyés lorsque l'utilisateur clique sur les boutons haut et bas de la barre de défilement ou sélectionne les commandes appropriées du menu contextuel.
SB_THUMBTRACK
est envoyé en continu lorsque l'utilisateur fait défiler en faisant glisser le pouce de la barre de défilement.
SB_THUMBPOSITION
est envoyé lorsque l'utilisateur a libéré le pouce.
Voir l'article MSDN WM_VSCROLL pour plus d'informations. Ainsi, lorsque vous recevez un message WM_VSCROLL, vous devez d'abord effectuer le défilement lui-même. Si, par exemple, vous écrivez un éditeur de texte, vous devez redessiner le texte, mais avec une ligne différente en haut de la fenêtre. Ensuite, vous devez mettre à jour la barre de défilement à sa nouvelle position, de préférence au moyen de SetScrollInfo, mais vous pouvez également utiliser l'ancienne fonction SetScrollPos.
Merci, je suis encore un peu nouveau à WinAPI – jmasterx
Voir http://msdn.microsoft.com/en-us/library/bb787531(VS.85).aspx pour un exemple de la façon de gérer le message 'WM_VSCROLL'. –