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

MFC Discussion :

[VisualC++6.0]Object Array dans un ListBox


Sujet :

MFC

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 93
    Par défaut [VisualC++6.0]Object Array dans un ListBox
    Salut!
    Comment faire pour mettre un ObjectArray dans un ListBox?

    car m_ListNom.AddString(m_oaPersonnes); ne peut fonctionner car c'est en string, il y a t'il une manière?
    Merci
    Thom

  2. #2
    r0d
    r0d est déconnecté
    Membre expérimenté

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    4 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 4 290
    Billets dans le blog
    2
    Par défaut
    Qu'appelles-tu ObjectArray?
    Quoi qu'il en soit, la fonction AddString, comme son nom l'indique et comme tu l'as noté, prends un CString en paramètre. Et non un tableau, quel qu'il soit. AddString n'ajoute qu'un élément, si tu veux entrer un tableau dans ta ListBox, il va te falloir une boucle.

    Hope it helps.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 93
    Par défaut
    Salut, j'appelle ObjectArray comme étant un tableau... J'ai une classe CPersonne dérivé de CObject et j'ai un m_oaPersonnes qui est un tableau où je met mes "enregistrements".

    Est-ce plus clair
    Merci..
    Thom

  4. #4
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    pas vraiment ,ça nous dit pas ce que tu veux faire de ce tableau ...

  5. #5
    r0d
    r0d est déconnecté
    Membre expérimenté

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    4 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 4 290
    Billets dans le blog
    2
    Par défaut
    Je ne sais pas trop pourquoi ton CPersonne hérite de CObject mais soit... (hmm, à tout hasard, tu ne programmais pas en java avant? )
    Tu ne donne pas beaucoup de précisions, mais je vais prendre un exemple: imaginons que tu souhaites mettre les noms des personnes dans ta listbox. Et bien il va te falloir implémenter un méthode CString CPersone::GetName(); qui renvoie le nom de la personne. Puis, pour mette ce nom dans ton listbox, tu n'aura plus qu'à faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    malistbox.AddString(MonTableauDePersonnes[i].GetName());

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 93
    Par défaut
    Salut, ok je vais essayer encore...

    j'ai ma classe CPersonne:
    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
     
    class CPersonne : public CObject  
    {
        DECLARE_SERIAL(CPersonne)
    public:
        CPersonne();
        void SetAge(int age) { m_iAge = age;}
        void SetEmploye(BOOL employe) { m_bEmploye = employe;}
        void SetNom(CString nom) { m_csNom = nom;}
        void SetSexe(int sexe) { m_iSexe = sexe;}
        void SetSituation(int situation) { m_iSituation = situation;}
        int GetAge() { return m_iAge;}
        BOOL GetEmploye() { return m_bEmploye;}
        CString GetNom() { return m_csNom;}
        int GetSituation() { return m_iSituation;}
        int GetSexe() { return m_iSexe;}
        virtual void Serialize(CArchive &ar);
        virtual ~CPersonne();
    private:
        CString m_csNom;
        int m_iAge;
        int m_iSituation;
        BOOL m_bEmploye;
        int m_iSexe;
    };
    Et je voudrais que seulement le nom apparaisse dans un ListBox... Mon ListBox va chercher tout ce qui était enregistrer dans mon m_oaPersonnes qui est dans ma classe Document

    Ensuite j'ai un Dialog qui contient mon ListBox et je veux simplement que dans celui-ci que mes données(nom) s'y retrouve.
    OnInitDialog:
    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
     
    BOOL CListeEmp::OnInitDialog() 
    {
        CDialog::OnInitDialog();
     
        // TODO: Add extra initialization here
        UpdateData(TRUE);
    //    CString CPersone::GetNom();
        m_pDoc = static_cast<CBottinDoc *>(static_cast<CFrameWnd *>(AfxGetMainWnd())->GetActiveDocument());
        for( int i=0;m_pDoc->m_oaPersonnes.GetSize();i++)
            m_ListNom.AddString(m_pDoc->m_oaPersonnes);
        UpdateData(FALSE);
     
        return TRUE;  // return TRUE unless you set the focus to a control
                      // EXCEPTION: OCX Property Pages should return FALSE
    }
    Je veux mettre mon tableau dans mon ListBox.

    Merci...
    Thom

  7. #7
    r0d
    r0d est déconnecté
    Membre expérimenté

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    4 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 4 290
    Billets dans le blog
    2
    Par défaut
    Oki, et bien il me semble que je t'ai donné la réponse. A peu de chose près... je te laisse chercher un peu?

    for( int i=0;m_pDoc->m_oaPersonnes.GetSize();i++)
    m_ListNom.AddString(m_pDoc->m_oaPersonnes[i].GetNom());

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

Discussions similaires

  1. recherche dans une listbox
    Par micknic dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 23/02/2005, 21h39
  2. Clique droit dans une ListBox
    Par LoicH dans le forum C++Builder
    Réponses: 5
    Dernier message: 07/02/2005, 22h50
  3. [debutant] supprimer elements dans une listbox
    Par F.F. dans le forum C++Builder
    Réponses: 8
    Dernier message: 02/07/2004, 11h38
  4. [WIN32]tabulation dans une listbox
    Par stoluup dans le forum MFC
    Réponses: 2
    Dernier message: 09/06/2004, 10h11
  5. Icône a coté du texte dans une ListBox
    Par joce3000 dans le forum C++Builder
    Réponses: 6
    Dernier message: 05/12/2003, 02h25

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