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 :

[MFC][CScrollBar] utilisation d'un CScrollBar


Sujet :

MFC

  1. #1
    r0d
    r0d est d�connect�
    Membre exp�riment�

    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Ao�t 2004
    Messages
    4 295
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Ao�t 2004
    Messages : 4 295
    Billets dans le blog
    2
    Par d�faut [MFC][CScrollBar] utilisation d'un CScrollBar
    Etrange contr�le que ce CScrollBar n'est-il pas?

    Tout d'abord, il ne comporte qu'un seul �v�nement de contr�le... alors que les autres en ont beaucoup plus (un simple bouton en comporte 6).
    Ensuite, son comportement est ... comment dire ... myst�rieux. Le seul �v�nement de contr�le s'appelle NM_CHANGETHEME, qui va �tre r�cup�r� par la m�thode OnNMThemeChangedScrollbar(). Il n'y a aucun signe de cet �v�nement dans la msdn.
    Enfin, quand je cr�e la m�thode (cit�e ci-dessus) automatiquement en double-cliquant sur mon contr�le, j'obtiens:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    void CTestGrid1Dlg::OnNMThemeChangedScrollbar1(NMHDR *pNMHDR, LRESULT *pResult)
    {
    }
    d�clar�e automatiquement dans DoDataExchange() par:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    DDX_Control(pDX, IDC_SCROLLBAR1, m_vMainScrollBall);
    et par
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    ON_NOTIFY(NM_THEMECHANGED, IDC_SCROLLBAR1, OnNMThemeChangedScrollbar1)
    dans BEGIN_MESSAGE_MAP

    maintenant, je compile pour jeter un coup d'oeil sur les arguments qui me sont envoy�s � l'appel de cette m�thode, et, � surprise, je me fais jeter par:
    error C2065: 'NM_THEMECHANGED'*: identificateur non d�clar�

    J'ai pourtant v�rifi�, ce satan� 'NM_THEMECHANGED' est pourtant bien d�clar� dans le fichier commctrl.h.

    Bonbonbon, ok d'accord, alors j'ajoute
    je compile... et l�!!! La m�me erreur!!

    Je me suis mis � la MFC depuis peu, et je commence � me demander si je vais pas laisser tomber la msdn pour me payer un exorciste

    Plus s�rieusement, si quelqu'un connait un peu le contr�le CScrollBar, je veux bien un peu d'aide parce que je ne trouve rien sur la toile l�-dessus.

    Merci.

  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
    Par d�faut
    Salut ,
    les notifications des scrollbars s�interceptes sur la fen�tre avec les messages :
    WM_VSCROLL (vertical ) et WM_HSCROLL (horizontal)
    Le message g�n�re une fonction qui contient le pointeur sur la scrollbar le type d��v�nement dans nSBCode ,et la position dans nPos.
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    void CMyForm::OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) 
    {
    	switch(	nSBCode)
    	{
    	case SB_THUMBPOSITION:   break;
    	case SB_THUMBTRACK   : break;
    	case SB_PAGEDOWN     :break;
    	case SB_PAGEUP	     :break;						
    	case SB_LINEDOWN:   break;
    	case SB_LINEUP  	 : break;
    	}
    }

  3. #3
    r0d
    r0d est d�connect�
    Membre exp�riment�

    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Ao�t 2004
    Messages
    4 295
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Ao�t 2004
    Messages : 4 295
    Billets dans le blog
    2
    Par d�faut
    euh, d�sol�, je comprends pas

    Citation Envoy� par farscape
    les notifications des scrollbars s�interceptes sur la fen�tre avec les messages :
    WM_VSCROLL (vertical ) et WM_HSCROLL (horizontal)
    Comment je fais pour r�cup�rer la notification? C'est dans BEGIN_MESSAGE_MAP qu'il faut faire quelque chose?

    Citation Envoy� par farscape
    Le message g�n�re une fonction
    Je ne comprends pas. Le message g�n�re l'appel d'une fonction? La fonction
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    void CMyForm::OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
    dont tu parles existe-t-elle ou dois-je la cr�er? Qu'est-ce que CMyForm?

    Pfff, je suis d�sol�, je rame l�... mais j'avance quand m�me... tout doucement

  4. #4
    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
    Par d�faut
    sur la fenetre ou est la scrollbar dans classwizard (sous vc6 ) tu interceptes le message horizontal ou vertical suivant le type de scrollbar ou les deux..


  5. #5
    r0d
    r0d est d�connect�
    Membre exp�riment�

    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Ao�t 2004
    Messages
    4 295
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Ao�t 2004
    Messages : 4 295
    Billets dans le blog
    2
    Par d�faut
    salut,
    ok c'est bon, j'ai capt�. J'ai repris �a tranquillement ce matin... et c'est all� tout seul.

    Merci une fois de plus fasrcape.

    L'ennemi est b�te, il croit que l'ennemi c'est nous, alors que c'est lui. (Desproges)

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. R�ponses: 3
    Dernier message: 07/09/2007, 14h14
  2. R�ponses: 6
    Dernier message: 22/05/2006, 13h54
  3. [MFC] Faible utilisation des sockets via les MFC ?
    Par Yellowmat dans le forum MFC
    R�ponses: 1
    Dernier message: 25/08/2005, 17h15
  4. utiliser les tag [MFC] [Win32] [.NET] [C++/CLI]
    Par hiko-seijuro dans le forum Visual C++
    R�ponses: 8
    Dernier message: 08/06/2005, 15h57
  5. [MFC] Utilisation Drivers
    Par LAPLACE dans le forum MFC
    R�ponses: 4
    Dernier message: 21/12/2002, 10h29

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