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 :

Déplacer le curseur d'une ScrollBar


Sujet :

MFC

  1. #1
    Nouveau membre du Club
    Inscrit en
    Octobre 2006
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 44
    Points : 26
    Points
    26
    Par défaut Déplacer le curseur d'une ScrollBar
    Bonjour à tous!

    alors, voila, j'ai encore un petit soucis de scrollbar :

    - j'ai positionné une scrollbar dans une boite de dialogue.

    - dans une classe dérivée de CDialog, il y a :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    private:
        afx_msg void OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
     
    private:
    	// Attribut
        CScrollBar ScrollRight;
    - dans DoDataExchange de ma classe, il y a :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DDX_Control(pDX, IDC_SCROLLBAR_RIGHT, ScrollRight);
    - dans les message map, il y a :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    BEGIN_MESSAGE_MAP(...)
    	//...
        ON_WM_VSCROLL()
    END_MESSAGE_MAP()
    - et voici ma fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
     
    void CDlg_DCI::OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
    {
        int position;
        int pos;
     
        position = pScrollBar->GetScrollPos();
     
        pos = position;
     
        switch (nSBCode)
        {
            case SB_LINEUP : //Scroll une ligne en haut.
                position -= 1;
     //           pScrollBar->SetScrollPos(position,TRUE);
                ScrollRight.SetScrollPos(position,TRUE);
                break;
     
            case SB_LINEDOWN : //Scroll une ligne en bas.
                position += 1;
      //          pScrollBar->SetScrollPos(position,TRUE);
                ScrollRight.SetScrollPos(position,TRUE);
                break;
     
            case SB_PAGEUP: //Scroll une page en haut.
                position -= 5;
     //           pScrollBar->SetScrollPos(position,TRUE); 
                ScrollRight.SetScrollPos(position,TRUE);
                break;
     
            case SB_PAGEDOWN: //Scroll une page en bas.
                position += 5;
      //          pScrollBar->SetScrollPos(position,TRUE);
                ScrollRight.SetScrollPos(position,TRUE);
                break;
     
            case SB_THUMBPOSITION: //Scroll a une position absolue.La position courante est fournie dans le deuxieme parametre.
      //          pScrollBar->SetScrollPos(nPos,TRUE);
                ScrollRight.SetScrollPos(nPos,TRUE);
                break;
     
            case SB_THUMBTRACK : //Glisse la boite de scoll a une position specifiee. La position courante est fournie par le deuxieme parametre.
     //           pScrollBar->SetScrollPos(nPos,TRUE);
                ScrollRight.SetScrollPos(nPos,TRUE);
                break;
     
             case SB_TOP: //Scroll au debut.
                break;
     
            case SB_BOTTOM: //Scroll a la fin.
                break;
     
            case SB_ENDSCROLL: //Fin de scroll.
                break;
     
        }
     
        ScrollWindow(0, (position-pos));
        UpdateData(true);
    }
    celà fonctionne, ma fenetre se déplace correctement, mais le curseur de ma scrollbar se remet automatiquement en haut ....

    quelqu'un peut il m'aider s'il vous plait?

  2. #2
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    salut,
    tu as spécifié une plage a ta scrollbar avec SetScrollRange ?

  3. #3
    Nouveau membre du Club
    Inscrit en
    Octobre 2006
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 44
    Points : 26
    Points
    26
    Par défaut
    OK, ca marche carément mieux!

    merci !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2007] faire déplacer le curseur d'une cellule à une autre
    Par marcelisa2 dans le forum Macros et VBA Excel
    Réponses: 15
    Dernier message: 03/04/2014, 15h18
  2. Placement du curseur dans une scrollbar
    Par elsakapus dans le forum MFC
    Réponses: 3
    Dernier message: 20/02/2007, 21h15
  3. Réponses: 3
    Dernier message: 17/04/2006, 23h39
  4. Deplacemnt du curseur dans une ScrollBar
    Par crochepatte dans le forum MFC
    Réponses: 4
    Dernier message: 11/07/2005, 14h04
  5. Taille du curseur d'une scrollbar
    Par stof dans le forum MFC
    Réponses: 3
    Dernier message: 28/06/2005, 14h43

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