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

Windows Discussion :

Utilisation d'une scrollbar


Sujet :

Windows

  1. #1
    Invité
    Invité(e)
    Par défaut Utilisation d'une scrollbar
    Re,

    J'aimerais savoir la syntaxe en C pour déclarer et utiliser une scrollbar. J'ai vu le tuto mais avec l'exemple je ne sais pas par quel bout prendre le code.

    C'est sur Windows XP et je compile avec Visual et MinGW.

    Merci d'avance.
    Dernière modification par Melem ; 24/08/2009 à 08h35.

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 073
    Points : 12 119
    Points
    12 119
    Par défaut
    Quel tuto ?
    Qu'est-ce que vous ne comprenez pas dans ce tutoriel ?

  3. #3
    Invité
    Invité(e)
    Par défaut
    ce tuto

    ce je que cherche à faire : faire apparaître une scroolbar horizontale sur une fenetre

    ensuite faire changer de valeur le texte en static : par exemple partir de 0 et compter de 2 en 2 jusqu'à 10

    cette valeur change quand on clique sur l'une des flèches : augmente ou diminue

    la valeur static affiche la valeur correspondant au résultat

    je cherche à faire un code indépendant de celui proposé au tuto : pas besoin de cliquer sur la figure, juste afficher la schrollbar avec les valeurs qui changent

    voyez-vous ce que je veux dire ?

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

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Franchement, tu devrais plutôt utiliser un Slider qu'une scrollbar.

    Seules les applications pour Windows 3.11 utilisaient des scrollbars pour ça, et c'est parce que les sliders n'avaient pas encore étés inventés...
    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.

  5. #5
    Invité
    Invité(e)
    Par défaut
    lequel des 2 est le plus facil à comprendre et surtout à programmer ? Slider ou scrollbar ?

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

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    En C directement, je ne sais pas. Je n'ai utilisé que des scrollbars, et uniquement pour du vrai scrolling.

    Donc, je pense que tu devrais essayer les sliders (ne pas oublier le InitCommonControlsEx() au début du programme, par contre).
    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.

  7. #7
    Invité
    Invité(e)
    Par défaut
    mais n'est-il pas plus facil de dire "tu avances de + 2" quand je clique sur une flèche

    plutôt que

    avec un slider déplacer le curseur de gauche à droite tout en cliquant dessus ?

    slider : le programme tiens en compte le clic + le déplacement de la souris

    scrollbar : le programme ne tient en compte que le clic

    non ?

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

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Je n'avais pas pensé à ça.

    D'un autre côté, pour compter on a tendance à préférer un contrôle up-down.
    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.

  9. #9
    Invité
    Invité(e)
    Par défaut
    oui c'est exactement ce que je recherche

    je vais regarder ça de plus près

    je ne veux pas non-plus philosopher pendant 10 ans mais c'est juste pour dire par rapport à mon post précédent :

    je ne cherche en aucun cas à avoir raison mais à discuter et demander l'avis des autres

    ce que je cherche à faire c'est écrire le programme sans que ça soit trop compliqué vu que je débute en API WINDOWS

    j'ai déjà fait du C mais avec consoles DOS : ça n'a carrément rien à voir : c'est pour moi une autre planète

    merci pour le lien

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

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Citation Envoyé par gizmo27 Voir le message
    j'ai déjà fait du C mais avec consoles DOS : ça n'a carrément rien à voir : c'est pour moi une autre planète

    merci pour le lien
    C'est vrai que c'est très différent. Il m'a fallu un long moment pour m'y habituer...
    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.

  11. #11
    Invité
    Invité(e)
    Par défaut
    j'ai commencé avec la fonction createwindowsex(), conformément à ce qui est dit ici

    j'ai rentré ce code :

    => j'ai d'abord défini l'updown :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    #define ID_UPDOWN_1         2000
    => j'ai ensuite déclaré hupdown dans les variables globales => puis à l'intérieur d'une fonction de remplissage (VOID) de la fenetre principale
    j'assigne hupdown comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    hupdown=CreateWindowEx(      
        NULL,
        NULL,
        NULL,
        WS_CHILD|WS_VISIBLE,
        10,
        10,
        40,
        10,
        fenetrePrincipale,
        (HMENU)ID_UPDOWN_1,
        instance,
        16);
    j'ai sûrement du foirer qqch dans les paramètres car enfin rien ne s'affiche

    ah l'anglais et moi .................

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

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Le second paramètre ne doit pas être nul, mais UPDOWN_CLASS.

    Ou bien, tu peux utiliser directement la fonction CreateUpDownControl, comme indiqué sur le lien que je t'ai envoyé (par contre, elle est dépréciée à cause de limitations sur ses limites et sa position initiale)...
    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.

  13. #13
    Invité
    Invité(e)
    Par défaut
    oui j'ai vu cette fonction obsolète

    mais sur win xp 32 bits le programme plante (ça compile très bien mais quand je fais run... badaboum ! "erreur : le programme doit fermer)

    sinon j'ai fait les modifs que tu m'a dit : j'ai mis le UPDOWN_CLASS en second paramètre de la fonction

    pour le déclarer, j'ai fait comme suit : (mais là je ne suis vraiment pas sûr)

    et ça n'affiche rien (mais je sui sûr que c'est normal )

    ===========================================================

    Aussi j'aurais aimé savoir avec quels sont les valeurs min et max ? la valeur de l'incrément ?

    (cela semble à 1ère vue plus explicite avec la fonction obsolète)

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

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Qu'est-ce que c'est que cette histoire de "const UPDOWN_CLASS" ?
    Je parlais de faire ceci:
    Code C : 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
    #include <commctrl.h>
     
    ...
     
    hupdown=CreateWindowEx(      
        0, /*Le style étendu est un nombre, pas un pointeur*/
        UPDOWN_CLASS,
        NULL,
        WS_CHILD|WS_VISIBLE,
        10,
        10,
        40,
        10,
        fenetrePrincipale,
        (HMENU)ID_UPDOWN_1,
        instance,
        NULL);
    Comme l'indique la doc, pour régler les paramètres du UpDown, tu dois utiliser la fonction SendMessage() sur le contrôle après sa création.
    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.

  15. #15
    Invité
    Invité(e)
    Par défaut
    ok merci à vous

    c'est vrai que j'ai du mal à m'y faire

    faut surtout que j'apprenne l'anglais

Discussions similaires

  1. Utilisation d'une Scrollbar
    Par titounet55 dans le forum SWT/JFace
    Réponses: 2
    Dernier message: 26/06/2012, 10h59
  2. creation et utilisation d'une scrollbar
    Par ouaqa dans le forum Flex
    Réponses: 0
    Dernier message: 02/06/2010, 12h33
  3. [XL-2007] Utilisation d'une scrollbar
    Par miska dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 26/01/2010, 10h12
  4. utiliser une scrollbar pour un textctrl
    Par timiti29 dans le forum wxPython
    Réponses: 5
    Dernier message: 14/12/2009, 18h16
  5. [DisplayTag] Utiliser une scrollbar
    Par crocodingo dans le forum Taglibs
    Réponses: 1
    Dernier message: 26/03/2008, 17h13

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