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 299
    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 299
    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 299
    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 299
    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 299
    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 299
    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