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

Visual C++ Discussion :

[Debutant] ScrollBar et Static


Sujet :

Visual C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Iphelias
    Homme Profil pro
    Développeur Java
    Inscrit en
    Février 2007
    Messages
    126
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Février 2007
    Messages : 126
    Par défaut [Debutant] ScrollBar et Static
    Bonjour,

    J'ai vraiment bien avançé dans mon application win 32 sous Visual C++.
    J'ai réussi a gérer tout le coté graphique/fenêtre que je désirais. La mise au point de mon algorithme d'affichage et mes traitements fonctionnent...

    J'ai parcontre encore qques petits problèmes.

    En fait j'aimerais que le mouvement d'une Scrollbar mette à jour un champs texte (j'ai utilisé un static). Mais je ne trouve pas comment faire ... exsite t'il une fonction pré-implémenter existante ???

    J'ai découvert une fonction mais celle si ne s'utilise que pour les boîtes de dialogue d'apres ce que j'ai compris :
    SetDlgItemInt(hwnd, hText, si.nPos, FALSE);
    et moi j'utilise des Fenêtres (WNDCLASS)...

    Ici mon hwnd, créé une erreur à la compilation
    error C2664: 'SetDlgItemInt' : cannot convert parameter 2 from 'struct HWND__ *' to 'int'




    Si qqn trouve la solution je le remerci par avance

  2. #2
    Expert confirmé
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 527
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 527
    Par défaut
    ?Avec les applis Windows win32 on gére toujours les messages envoyés par l'OS.
    Est-ce que c'est une appli win32 pure ou avec MFC ?
    Dans la boucle de message et procédure de fenêtre ( WinProc ) traiter WM_HSCROLL ou WM_VSCROLL qui vont renseigner sur la position du curseur.
    Avec cela il suffit d'utiliser GetDlgItem puis SetWindowText(ID) de la zone de texte ou zone de texte statique

  3. #3
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Tu mélanges : Si tu as directement un handle vers l'editbox, utilise directement SetWindowText() (il n'y a pas de SetWindowInt()).

    Ou bien, tu utilises l'ID de la l'editbox pour utiliser SetDlgItemText()...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  4. #4
    Membre confirmé Avatar de Iphelias
    Homme Profil pro
    Développeur Java
    Inscrit en
    Février 2007
    Messages
    126
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Février 2007
    Messages : 126
    Par défaut
    Bon alors je n'y arrive toujours pas lol ...

    En gros dans ma fenetre j'ai 2 Scrollbars

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     
    hScrollBar = CreateWindowEx(0,"scrollbar",NULL,WS_VISIBLE|WS_CHILD,
    510,40,50,24,hwnd,NULL,GetModuleHandle(NULL),NULL);
     
    hScrollBar2 =CreateWindowEx(0,"scrollbar",NULL,WS_VISIBLE|WS_CHILD,
    510,100,50,24,hwnd,NULL,GetModuleHandle(NULL),NULL);
     
    SetScrollInfo(hScrollBar, SB_CTL, &si, FALSE);
    SetScrollInfo(hScrollBar2, SB_CTL, &si, FALSE);

    Et j'arrive a gérer le mouvement des deux ... Mais je n'arrive pas a récupérer leur position et l'afficher dans un static.
    En effet je n'arrive pas a dissocier dans WM_HSCROLL laquelle est en train de bouger ...

    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
     
     
    case WM_HSCROLL:
     GetScrollInfo((HWND)lParam, SB_CTL, &si);
             switch (LOWORD(wParam))
               {
    			 case SB_PAGEUP:
                    si.nPos -= 2;
                    if(si.nPos < si.nMin) si.nPos = si.nMin ;
                    break;
     
                  case SB_PAGEDOWN:
                    si.nPos += 2;
                    if(si.nPos > si.nMax) si.nPos = si.nMax ;
                    break;
     
                  case SB_LINEUP:
                    if(si.nPos > si.nMin) si.nPos--;
                    break;
     
    				case SB_LINEDOWN:
                    if(si.nPos < si.nMax) si.nPos++;
                    break;
     
                  case SB_THUMBPOSITION:
                    si.nPos = HIWORD(wParam);
                    break;
                }
    		 si.fMask  = SIF_POS;	 
    		 SetScrollInfo((HWND)lParam, SB_CTL, &si, TRUE);
                return 0;
    Alors a mon avis je m'y prend pas de la bonne façon ....mais il y a vraiment peu d'info sur le web ... a moins que qqn est un site à me proposer...
    Merci d'avance

  5. #5
    Membre émérite
    Avatar de Spout
    Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    904
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Février 2007
    Messages : 904
    Par défaut
    Ton paramètre d'entrée lParam casté en Hwnd t'indique quelle ScrollBar a été utilisée

  6. #6
    Membre confirmé Avatar de Iphelias
    Homme Profil pro
    Développeur Java
    Inscrit en
    Février 2007
    Messages
    126
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Février 2007
    Messages : 126
    Par défaut
    Citation Envoyé par spoutspout
    Ton paramètre d'entrée lParam casté en Hwnd t'indique quelle ScrollBar a été utilisée
    Oui mais comment savoir a quelle scrollbar celui-ci correspond ??


    Oui mais comment puis je l'utiliser ???
    Peu t etre à la création ??? je est 'il possible de leur donner des identifiants différents ???

    Voici ou j'en suis et j'aimerais donc que le mouvement des scrollbar affiche la valeur correspondante




    Merci par avance

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

Discussions similaires

  1. [debutant] initialisation variable static
    Par julien.63 dans le forum Langage
    Réponses: 3
    Dernier message: 12/01/2008, 18h02
  2. [DEBUTANT]utilite de static
    Par Battosaiii dans le forum Langage
    Réponses: 10
    Dernier message: 12/07/2006, 11h54
  3. [CSS][debutant] Scrollbar
    Par cyrill.gremaud dans le forum Mise en page CSS
    Réponses: 14
    Dernier message: 29/04/2006, 16h50
  4. [debutant]scrollbar dans un tableau
    Par juanqui dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 21/04/2006, 16h53
  5. Réponses: 17
    Dernier message: 29/08/2005, 13h53

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