lectpe
Messages postés162Date d'inscriptionlundi 12 novembre 2007StatutMembreDernière intervention17 juillet 2010
-
23 avril 2009 à 19:30
uaip
Messages postés1466Date d'inscriptionmardi 20 février 2007StatutMembreDernière intervention 7 février 2011
-
24 avril 2009 à 15:52
Bonjour à tous !!!
Je suis en train de créer une application à l'aide de l'API WIN32 et j'ai un problème lors du défilement de ma scrollbar.
Mon problème vient du fait que lorsque je saisis le curseur de la barre de défilement, la curseur se place là où la souris l'a laché (ce qui est normal), mais lorsque je clique sur les flèches ou entre les flèches et le curseur, ce dernier se place tout en bas de la barre de défilement.
J'aimerai savoir pourquoi le curseur de la barre de défilement ne bouge pas simplement d'un ou deux pixels au lieu de se placer tout en bas de la barre de défilement et comment y rémédier.
uaip
Messages postés1466Date d'inscriptionmardi 20 février 2007StatutMembreDernière intervention 7 février 2011 24 avril 2009 à 00:44
Salut,
Je dis sans doute une ânerie, mais je n'ai jamais utilisé SCROLLINFO pour mettre à jour une scrollbar.
Je te montre comment je procède et ça fonctionne très bien : (tu peux remplacer SB_THUMBTRACK pas SB_THUMBPOSITION (ils fonctionnent de la même manière) et recopier SB_PAGEUP pour SB_PAGEDOWN, SB_LINEUP, etc...)
case WM_VSCROLL:
{
switch (LOWORD(wParam))
{
case SB_PAGEUP:
{
int pos=SendMessage((HWND)lParam,SBM_GETPOS,0,0)-2;
SendMessage((HWND)lParam,SBM_SETPOS,pos,FALSE);
break;
}
case SB_THUMBTRACK:
{
SendMessage((HWND)lParam,SBM_SETPOS,HIWORD(wParam),FALSE);
break;
}
}
}
En espérant que ça t'aide.
uaip
Messages postés1466Date d'inscriptionmardi 20 février 2007StatutMembreDernière intervention 7 février 2011 24 avril 2009 à 15:52
On procède donc bien de la même façon (sauf que j'utilise les messages au lieu des macros, celles-ci n'étant pas inclues dans les headers de mon IDE).
C'est aussi à moi de te remercier, car tu m'a fait rappeler que, dans mon projet actuel, j'avais complètement oublié de gérer SB_PAGEUP, SB_LINEUP, etc... ce qui est quand même primordial.
Bref, bonne prog à toi.
(et n'oublie pas de cocher "message accepté" sur ton message, pour que ton topic apparaisse comme "résolu" dans le forum )