Curseur d'un scrollbar

[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
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
-
bonjour,



j'aimerais gerer le curseur du scrollbar mais il reste à la meme place

pourtant je recupere bien l'evenement :


case SB_THUMBTRACK: // curseur


si.nPos = si.nTrackPos;


break;



il passe bien dedans, le scroll est bien fait

mais le curseur ne bouge pas.....



quelle est la methode à appeler ?

ou la propriete à rajouter ?



merci

4 réponses

Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
29
Le curseur ne bouge pas seul, le systeme t'envoie les events et ensuite c'est toi qui positionne comme tu veux.
SetScrollInfo(hscr, SB_CTL, &sinf, TRUE);
exemple ici:
http://www.cppfrance.com/code.aspx?id=10966

fetsr > Je n'ai pas vu mention de MFC dans la question ni dans le code exposé.

ciao...
http://dev.winsysdev.com
BruNews, MVP VC++
Messages postés
24
Date d'inscription
lundi 14 mars 2005
Statut
Membre
Dernière intervention
31 mars 2006

Il faut le faire dans le MOUSE_MOVE. L'exemple suivant fait apparaitre le curseur de SIZE en largeur, lorsque le bouton gauche est appuyé sur la fenetre cliente (il faut bien sur deriver la classe ScrollBar):

void CMaClasse::OnMouseMove(UINT nFlags, CPoint point)
{
if(MK_LBUTTON == nFlags)
{
HCURSOR cursor = LoadCursor( NULL, IDC_SIZEWE );
if(cursor != NULL)
{
if(NULL == ::SetCursor( cursor )) // affiche le curseur
{
TRACE("PB si on passe ici\n");
}
}
}
CWnd::OnMouseMove(nFlags, point);
}
Messages postés
361
Date d'inscription
mardi 31 décembre 2002
Statut
Membre
Dernière intervention
19 mars 2015

merci brunews !

par rapport à ton source, j'ai qqs questions
en dehors du fait que devcpp n'aime pas ce type d'assembleur (je verrais + tard, comment traduire en asm comprensible par mingw)

à quoi servent les 2 lignes suivantes :
#pragma warning(disable: 4311) // qui me burnent !!!
#pragma warning(disable: 4244) // autant !!!

merci

fetsr > les mfc, comme dire, ... ben voila...
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
29
Evite l'affichage dans VS par le compilo du nro de warning spécifié.

Pour ce qui est de l'ASM j'espère que plus tard tu seras sur un compilo pro qui respecte la syntaxe au standard Intel.
Encore qu'en voulant c'est faisable maintenant, il y a Code::Blocks (ou nom de ce genre) qui est un IDE gratuit qui peut entre autres piloter le compilo de Visual Studio, comme VS 2005 Express est en téléchargement gratuit et le platform SDK aussi...

ciao...
http://dev.winsysdev.com
BruNews, MVP VC++