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

 C Discussion :

boutons évènements while


Sujet :

C

  1. #1
    Invité
    Invité(e)
    Par défaut boutons évènements while
    J'aimerais faire ceci :


    J'ai eu beau chercher, je n'ai pas trouvé quel est le code pour afficher ce type de bouton.

    Les évènements :

    j'aimerais qu'il affiche : <le nombre précédent> + 2 chaque fois qu'on clique sur le bouton du haut

    Procédure ou fonction ? quel est le mieux adapté ?

    Les conditions :

    => je ne veux pas qu'il dépasse le nombre 650 : au delà il affiche toujours
    650

    => on ne peut pas écrire dans la zone texte

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

    J'avais pensé à un code du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    input zone texte
    while n<650
    {
    n=n+2
    return n
    }
    nope

  2. #2
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 151
    Billets dans le blog
    150
    Par défaut
    Bonjour,

    Le code que vous avez ecrit, ne fait juste qu'une boucle qui incrémente ( de 2 ) n pour atteindre 650.

    Quel API utilisez vous pour l'interface graphique?
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  3. #3
    Invité
    Invité(e)
    Par défaut
    je ne comprend pas très bien la question...

    J'utilise WINAPI

    et je travaille avec Visual-MinGW et compile avec MinGW (gcc.exe)

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 104
    Par défaut
    Pour afficher ce genre de chose, il faut -je pense- utiliser deux contrôles EDIT (pour le champs de saisie) et au milieu d'eux il y a peut-être moyen de mettre un scrollbar mais en s'arrangeant de manière à n'afficher que les flèches haut et bas (car je ne sais pas s'il existe un contrôle qui n'affiche que deux flèches (?) ). Quelques infos ici : http://msdn.microsoft.com/en-us/libr...8VS.85%29.aspx

    Pour gérer les clics sur les boutons, il faut intercepter les messages envoyés par l'OS au processus grâce à la procédure de fenêtre. C'est la manière de fonctionner des applis Win32. Infos ici : http://chgi.developpez.com/windows/winmain/

    Car dans l'exemple que tu donnes, tu ne crées qu'une boucle qui incrémente la valeur. Ce qu'il faut, au contraire, c'est incrémenter lorsqu'on appuie sur le bouton. Cela passe donc par l'interception et la gestion du message envoyé par l'OS.

  5. #5
    Invité
    Invité(e)
    Par défaut
    ça ne m'a pas l'air évident du tout

    je vais essayer de demander petit à petit

    mon 1er souci : réussir à faire incrémenter de +2 et que ça affiche le nombre que je veux dans la zone texte (où l'on ne peut rien écrire)

    effectivement mon code va compter depuis 512 de 2 en 2

    je sais qu'il faudrait rajouter une procédure ou fonction qui, uniquement si je clique sur la flèche du haut, va incrémenter de +2 la valeur

    mon souci : comment ?

  6. #6
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 104
    Par défaut
    ça ne m'a pas l'air évident du tout

    je vais essayer de demander petit à petit

    mon 1er souci : réussir à faire incrémenter de +2 et que ça affiche le nombre que je veux dans la zone texte (où l'on ne peut rien écrire)

    effectivement mon code va compter depuis 512 de 2 en 2

    je sais qu'il faudrait rajouter une procédure ou fonction qui, uniquement si je clique sur la flèche du haut, va incrémenter de +2 la valeur

    mon souci : comment ?
    Tu n'as pas le choix : t'es obligé d'apprendre la programmation Windows. Je t'ai mis un lien pour apprendre les bases ; et à droite de la page, il y a plusieurs autres liens aussi.

    La programmation "console" n'a rien à voir avec la programmation fenêtrée (avec menus, boutons, etc).

    Lorsque tu cliques sur un bouton ou n'importe où sur la fenêtre, lorsque tu déplaces la souris, lorsque tu remplis un champs, etc, etc, l'OS envoie des messages vers le programme, qui les intercepte. Ensuite, c'est lui qui effectue telle ou telle action en fonction de tel ou tel message.
    Si tu n'as jamais touché à la programmation Windows et que tu comptes faire un tel projet (avec boutons, etc), t'es obligé d'apprendre les bases.

  7. #7
    Invité
    Invité(e)
    Par défaut
    J'ai regardé le tuto de developpez sur l'api windows

    et nulle part il y a ce que je recherche

    il y a les scroll-bars, ascenseurs mais pas ce que je recherche (cf image plus haut)

  8. #8
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 151
    Billets dans le blog
    150
    Par défaut
    Il n'y a pas que la bibliothèques de windows pour faire des interfaces graphiques ( Qt, wxWidgets ... ).

    En plus la version basique de la bibliothèque de windows est presque inbuvable. Je conseillerai pour ça, de passer aux .NET ( et même au C# ). Il y aura moins de perte de temps.

    Pardon pour mon mini hors sujet.

    Sinon, grace au designer de Qt j'ai pu savoir le nom de ce que gizmo27 demande.
    Sous Qt c'est appelé une SpinBox. Sous la bibliothèques de windows c'est appelé un UpDown ( houlà )
    Voici un lien, sur ce qui semble être un tuto ( en anglais :s ) http://hyper.sunjapan.com.cn/~hz/win32/commctl3.htm
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  9. #9
    Invité
    Invité(e)
    Par défaut
    ok man

    je te remercie vraiment pour tes recherches et pour le tuyau du "up-down" : dommage qu'il n'y soit pas au tuto

    merci

  10. #10
    Invité
    Invité(e)
    Par défaut
    Je vais finalement faire un ascenseur, ce qui me semble + judicieux.

    ce que je cherche : prendre une partie du code et l'adapter à mon programme : obtenir dans un premier temps les numéros qui défilent quand on clique sur les flèches

    si je cherche à mettre tout dans le seul et même fichier, que prendre ? comment adapter ?

Discussions similaires

  1. Boutons évènements dans la fenêtre propriétés
    Par Ndugu dans le forum Windows Presentation Foundation
    Réponses: 4
    Dernier message: 09/02/2009, 00h43
  2. Réponses: 2
    Dernier message: 27/04/2006, 22h59
  3. [Evénements]Ajout d'une méthode sur un événement d'un bouton
    Par Salam59 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 28/03/2006, 15h47
  4. [C#] Savoir quel bouton a déclenché l'évènement
    Par Amerok dans le forum ASP.NET
    Réponses: 4
    Dernier message: 01/12/2005, 15h19
  5. Réponses: 20
    Dernier message: 21/07/2005, 17h21

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