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 :

faire bouger un trackbar


Sujet :

Visual C++

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 8
    Points : 10
    Points
    10
    Par défaut faire bouger un trackbar
    Bonjour,
    Je dois gérer un trackbar avec un text box et vice versa.
    J'ai réussi avec le code suivant de gérer le text box avec le trackbar, c'est à dire d'afficher dans le text box la valeur du trackbar, le code est le suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    matextbox->Text = String::Concat( "", montrackBar->Value );
    Il m'est donc impossible de faire bouger le trackbar quand je rentre sa valeur dans le text box, dans tous les cas j'ai une exception.
    Je veux quand je rentre une valeur de 0 à 100 dans le text box que le track bar occupe la position de cette valeur
    Par exemple à 50, le trackbar se trouve pile au millieu, car il va de 0 à 100.
    Merci de votre aide

  2. #2
    Membre éclairé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    426
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 426
    Points : 827
    Points
    827
    Par défaut
    Salut,

    1) Pourquoi se compliquer la vie en faisant :
    matextbox->Text = String::Concat( "", montrackBar->Value );
    alors que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    matextbox->Text = montrackBar->Value.ToString();
    est tellement plus simple

    2) Utilise l'événement 'TextChanged' de TaTextBox pour mettre à jours la valeur de 'TaTrackBar->Value' . Utilise la méthode 'Int32:arse (String^ s )' pour convertir la valeur entrée dans TaTextBox ( qui est une String^ ) en une valeur de type 'int' pour la rentrer dans TaTrackBar , Ca dois donner qq chose comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TaTrackBar->Value = Int32::Parse ( matextbox->Text );
    Ce serait même encore mieux d'utiliser la méthode 'Int32::TryParse' décrite ici, pour vérifier que la valeur entrée est bien correcte

    Essaye et dis-moi si ça marche...
    Have Fun

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 8
    Points : 10
    Points
    10
    Par défaut

    Bonjour,
    Cela fait bouger le trackbar mais me génère une exception quand ma text box elle vide ou quand je met une valeur en dehors de 0 à 100, l'exception est mon vrai problème !
    Merci de votre aide

  4. #4
    Membre éclairé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    426
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 426
    Points : 827
    Points
    827
    Par défaut
    Salut,
    Alors, utilise la fonction 'Int32::TryParse' pour vérifier que la valeur entrée dans la TextBox est correcte avant de l'envoyer dans la TrackBar

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 8
    Points : 10
    Points
    10
    Par défaut
    J'arrive à gérer quand le text boxt est vide avec ce code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (TB_saisie1->Text != "")
    Par contre, impossible de lui dire de mettre la valeur à 100, quand on rentre plus de 100 dans le text box.
    Please, de l'aide

  6. #6
    Membre éclairé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    426
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 426
    Points : 827
    Points
    827
    Par défaut
    Bon alors, c'est pas compliqué :
    Le plus simple est surement d'utiliser 'Int32::TryParse' cette fonction renvoie 0 si le contenu de la textBox n'est pas un entier et la valeur saisie si c'est un entier. Essaye qq chose comme ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Int32 valeur;
    if ( Int32::TryParse ( matextbox->Text, valeur ) )//Si la valeur saisie est un entier
    {
         if ( valeur < 100 )
              maTrackBar->Value = valeur;//Valeur saisie correcte
         else maTrackBar->Value = 100;//Si valeur > 100 on met 100
    }
    else
         maTrackBar->Value = 0;//Si saisie incorrecte, ou 0, alors trackBar à 0
    Ca marche ça, non?

Discussions similaires

  1. Réponses: 12
    Dernier message: 22/07/2005, 21h53
  2. Réponses: 2
    Dernier message: 05/07/2005, 17h40
  3. Réponses: 10
    Dernier message: 06/05/2005, 19h02
  4. [FLASH MX2004] Faire bouger un clip
    Par Ticoche dans le forum Flash
    Réponses: 2
    Dernier message: 21/11/2004, 10h17
  5. Faire bouger un personnage
    Par DeusXL dans le forum DirectX
    Réponses: 35
    Dernier message: 09/06/2004, 15h49

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