IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MFC Discussion :

récupération de la position d'une scrollbar verticale


Sujet :

MFC

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 164
    Points : 161
    Points
    161
    Par défaut récupération de la position d'une scrollbar verticale
    bonjour, mon application affiche des images (dans une CScrollView) et j'aimerai afficher en temps réel les coordonnées du pointeur dans l'image, j'intercepte donc l'évenement OnMouseMove qui me fournit les coordonnées du pointeur DANS LA VUE. Elles correspondent donc au coordonnées de l'image TANT QUE l'on ne défile pas dans la vue.Pour garder les bonnes coordonnées lors d'un défilement à l'aide de la scroolbar je dois calculer la correction à apporter, il faut donc que je récupère la position de la scrollbar (verticale dans mon cas).
    J'ai intercepté l'évenement OnVSCroll dans ma CMonAppView, elle est construite comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    void CDibView::OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
    {
    	CScrollView::OnVScroll(nSBCode, nPos, pScrollBar);
    }
    sur msdn j'ai vu que :
    nPos :
    Contains the current scroll-box position if the scroll-bar code is SB_THUMBPOSITION or SB_THUMBTRACK; otherwise not used. Depending on the initial scroll range, nPos may be negative and should be cast to an int if necessary.
    nPos renvoi donc la position que si nSBCode est à SB_THUMBPOSITION ou SB_THUMBTRACK, or en faisant des tests je m'aperçois que ça n'est jamais le cas, quand je fais défiler ma vue nSBCode est soit à SB_LINEUP soit à SB_LINEDOWN.
    J'ai également essayé de récupérer la position en faisant pScrollBar->GetScrollPos() mais là le programme plante.
    A noter que ma scrollbar est créée automatiquement puisque ma vue dérive d'une CScrollView.
    Une idée sur la manière de procéder?
    merci

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    Bonjour,

    J'avais eu ce cas aussi. Je viens de regarder et je m'en etais sorti avec
    int CurrentPos=GetScrollPos(SB_VERT);
    Mais ca doit revenir au même que ton
    pScrollBar->GetScrollPos(). Mais par contre, c'est tres etonnant que ca plante.

    Mais attend peut etre un autre avis, je suis pas un specialiste...

Discussions similaires

  1. Récupération de l'état d'une scrollbar
    Par Zorgblub dans le forum GTK+ avec C & C++
    Réponses: 2
    Dernier message: 15/11/2007, 21h22
  2. Récupération de la position d'une div
    Par lecra dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 14/06/2007, 13h55
  3. Réponses: 4
    Dernier message: 12/06/2007, 09h34
  4. Réponses: 1
    Dernier message: 08/01/2007, 16h47
  5. Position d'une ScrollBar dans un TRichEdit (ou TMemo)
    Par Troll dans le forum C++Builder
    Réponses: 9
    Dernier message: 24/02/2005, 15h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo