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

wxWidgets Discussion :

Insertion dans une WxListCtrl


Sujet :

wxWidgets

  1. #1
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    149
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 149
    Points : 56
    Points
    56
    Par défaut Insertion dans une WxListCtrl
    Bonjour à tous !

    J'aurais besoin de votre aide pour un problème d'insertion dans une liste.
    Je m'explique :

    Je programme un logiciel sous WxDev C++ en C/C++. Et je dois récupérer la valeur d'un textbox puis l'ajouter dans une liste (ce qui permettra de répertorier dans la liste toutes les valeurs qui nous intéresse). Ces valeurs sont insérée en cliquant sur un bouton.
    Le bout de code se trouve dans un timer.

    Voilà mon bout de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    unsigned long position;
     long i;
    // Récupération de la valeur contenue dans le TextBox TxtPosZ
           this->TxtPositionZ->GetValue().ToULong(&position);
    // Insertion dans la liste
     
    i = LstDefaut->InsertItem(0, position);
    C'est la première fois que je me sert de InsertItem, j'ai la doc pour WxWidget mais il se passe quelque chose de bizarre (ou surement tout à fait normal si mon code est faux ^^) : En cliquant plusieurs fois sur le bouton pour insérer, je peux voir apparaitre une scrollbar me montrant bien que quelque chose s'ajoute, mais rien ne s'affiche !
    Etant débutante en C/C++, je n'arrive pas à voir d'où cela vient et je ne trouve rien sur Internet !

    Auriez vous une suggestion ?!?
    Merci d'avance ! Bonne journée !

  2. #2
    Membre averti Avatar de wxXav
    Homme Profil pro
    Développeur amateur
    Inscrit en
    Décembre 2008
    Messages
    214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur amateur

    Informations forums :
    Inscription : Décembre 2008
    Messages : 214
    Points : 354
    Points
    354
    Par défaut
    Salut.

    En fait, la "variante" de InsertItem que tu utilises sert à insérer un élément en spécifiant le numéro de l'image qui lui est associée.

    Dans ton cas, je suppose que tu veux afficher du texte.
    Il faut donc que tu re-transformes ton "unsigned long" en wxString, ou que tu affiches directement le contenu du wxTextCtrl :
    Première méthode :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    unsigned long position;
     long i;
    // Récupération de la valeur contenue dans le TextBox TxtPosZ
    this->TxtPositionZ->GetValue().ToULong(&position);
    // Insertion dans la liste
    wxString sTxt;
    sTxt.Printf(_T("%0lu"), position);
    i = LstDefaut->InsertItem(0, sTxt);
    Deuxième méthode :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    unsigned long position;
     long i;
    // Récupération de la valeur contenue dans le TextBox TxtPosZ
    this->TxtPositionZ->GetValue().ToULong(&position);
    // Insertion dans la liste
    i = LstDefaut->InsertItem(0, this->TxtPositionZ->GetValue());
    Il vaut à mon avis mieux utiliser la première méthode, qui va te permettre de récupérer la valeur "0" si le contenu du wxTextCtrl ne correspond pas à un nombre valide.

    @+
    Xav'

  3. #3
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    149
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 149
    Points : 56
    Points
    56
    Par défaut
    Merci pour ta réponse ! Ca m'a bien sorti de ma galère ! Tout marche comme je l'espérais !

    Pour ceux que ça intéresse voici mon code avec un petit supplément qui permet d'afficher les valeurs à la suite (et non pas avant les valeurs déjà affichées) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    unsigned long position;
     
    // Récupération de la valeur contenue dans le TextBox TxtPosZ
    this->TxtPositionZ->GetValue().ToULong(&position);
     
    // Insertion dans la liste
    wxString sTxt;
    sTxt.Printf(_T("%0lu"), position);
    int i = LstDefaut->GetItemCount();
     
    i = LstDefaut->InsertItem(i, sTxt,0);
    Et encore merci à toi wxXav !

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

Discussions similaires

  1. [debutant]insertion dans une BDD
    Par EssaiEncore dans le forum ASP
    Réponses: 7
    Dernier message: 10/02/2005, 14h58
  2. INTERBASE 5.5 insertion dans une colonne BLOB
    Par mariustrezor dans le forum Bases de données
    Réponses: 4
    Dernier message: 29/10/2004, 18h06
  3. Extraction d'un .txt et Insertion dans une table
    Par PoPmiSiR dans le forum Access
    Réponses: 8
    Dernier message: 28/10/2004, 19h13
  4. Détection insertion dans une Table
    Par abelman dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 06/07/2004, 14h24
  5. [LG]Tri par insertion dans une liste chainée
    Par mister_dsg dans le forum Langage
    Réponses: 4
    Dernier message: 18/12/2003, 22h34

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