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 :

Les Formes : ListView et TreeView


Sujet :

Visual C++

  1. #1
    Membre �clair�
    Inscrit en
    Avril 2007
    Messages
    326
    D�tails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 326
    Par d�faut Les Formes : ListView et TreeView
    Bonjour ,
    j'aimerais utilisais ListView et TreeView Dans ma form
    est ce que quelqu'un sait comment les utiliser ? comment les remplir ?

    merci

  2. #2
    Membre �clair�
    Inscrit en
    Avril 2007
    Messages
    326
    D�tails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 326
    Par d�faut
    ce que je veux en fait c'est que dans la form j'ai par exemple un Textbox pour choisir le r�pertoire et lorsque je clique sur le boutton ok il m'affiche la liste des fichiers dedans
    j'ai cr�e un List View mais je sais pas comment l'utiliser

  3. #3
    Membre �clair�
    Inscrit en
    Avril 2007
    Messages
    326
    D�tails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 326
    Par d�faut comment initialiser une liste et ajouter des �l�ments dedans
    c bon j'ai r�ussi � cr�er une list view dans ma form et mettre des �l�ments dedans
    par contre je veux faire ca avec une boucle, mais il y a un probl�me :

    pour ajouter les items � la listView avec une boucle c'est � dire
    comment ajouter des items � cette liste "temp1"avec une boucle for
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
     
    array<ListViewItem^>^temp1 = {item1,item2,item3};
    listView1->Items->AddRange(temp1);

  4. #4
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par d�faut
    c'est pas clair quand meme comme langage ...

    tu veux boucler sur quoi ? comment alimentes-tu le tableau ?

    exemple tout bete avec un entier :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    	 array<int> ^tab = gcnew array<int>(10); // taille maxi
    		for (int i = 0 ; i < tab->Length ; i++)
    		 tab[i] = i;

  5. #5
    Membre �clair�
    Inscrit en
    Avril 2007
    Messages
    326
    D�tails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 326
    Par d�faut copier les items coch�s dans une listView dans une autre
    ok ca me parait aussi une bonne id�e mais je suis pass� par une liste et apr�s je copy la liste dans l array (avec toarray)
    donc l� quand je choisi un r�pertoire et je clique sur mon bouton(show) il m'affiche les fichiers et leur taille dans ma listview1 mais tous coch�s : vu que j'ai mis
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    listView1->CheckBoxes = true;
    mtnt j'ai cr�e une listView2 et je veux copier les fichiers de la listView1 mais juste ceux qui sont coch�s par l'utilisateur ..comment je pourrais faire ca ?

    merci

  6. #6
    Membre �clair�
    Inscrit en
    Avril 2007
    Messages
    326
    D�tails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 326
    Par d�faut
    en fait je bloque sur un point :
    comment copier un item d'une listView 1 et le mettre dans une listView 2 ?

  7. #7
    Membre �clair�
    Inscrit en
    Avril 2007
    Messages
    326
    D�tails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 326
    Par d�faut comment recuperer un item d'indice n d'une listView
    voici mon code:

    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
    26
    27
    28
    29
    30
    listView2->View = View::Details;
    listView2->LabelEdit = true;
    listView2->AllowColumnReorder = true;
    listView2->CheckBoxes = true;
    listView2->FullRowSelect = true;
    listView2->GridLines = true ;
    listView2->Sorting = SortOrder::Ascending;	
    
    array<ListViewItem^>^temp2  ;
    int j =listView1->Items->Count;
    			
    			
    
    List<ListViewItem^>^ mylist2 = gcnew List<ListViewItem^>();
    for (int n=0;n<j;n++)
    {
    listView1->Items
    ListViewItem ^item = gcnew ListViewItem (c'est ici o� je bloque comment recuperer le item num�ro n de la listView1);
          if(item->Checked)
            {mylist2->Add(item);}
    }
    
    
    listView2->Columns->Add("file name", -2, HorizontalAlignment::Left);
    listView2->Columns->Add("size", -2, HorizontalAlignment::Left);
    temp2= mylist2->ToArray();
    listView2->Items->AddRange(temp2);
    			
    		 }

  8. #8
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par d�faut
    tu as raison, une liste c'est souvent plus adapt� qu'un tableau. Par contre, je comprends rien � ce que tu dis.
    Si tu veux boucler sur une liste, le plus simple c'est de faire un for each

  9. #9
    Membre �clair�
    Inscrit en
    Avril 2007
    Messages
    326
    D�tails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 326
    Par d�faut
    j'ai fait un for each sur ma list mais que c'est une liste de "ListViewItem"
    ca marche pas ?
    il me dit que for each ca prend pas "ListViewItem"

    tous ce que je veut mtnt c'est copier les items d'une listview dans une autre listview

  10. #10
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par d�faut
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    for each (ListViewItem ^l in listView1->Items)
    	 listView2->Items->Add(gcnew ListViewItem(l->Text));

  11. #11
    Membre �clair�
    Inscrit en
    Avril 2007
    Messages
    326
    D�tails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 326
    Par d�faut
    donc pour ajouter que ceux qui sont coch�s je fais comme ca :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
     
    for each (ListViewItem ^l in listView1->Items)
    {
    if (l->checked) 
    listView2->Items->Add(gcnew ListViewItem(l->Text));
    }
    autre question pour r�cuperer le nom d'un fichier qui coresspond � la colone 1 d'un item je fais comment ?

    merci

  12. #12
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par d�faut
    je ne sais pas comment tu as organis� ca, mais dans un listViewItem, il peut y avoir des listViewSubItems
    Dans tous les cas, c'est toujours la propri�t� Text qu'il faut utiliser, reste � savoir sur quel �l�ment

  13. #13
    Membre �clair�
    Inscrit en
    Avril 2007
    Messages
    326
    D�tails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 326
    Par d�faut
    je copie que la premi�re colone et la 2�me colone ne se copie pas
    donc il faut passer par des sub items au lieu de items ?

  14. #14
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par d�faut
    il faut aussi dupliquer les subitems, faire une deuxieme boucle imbriqu�e

  15. #15
    Membre �clair�
    Inscrit en
    Avril 2007
    Messages
    326
    D�tails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 326
    Par d�faut
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    for each (ListViewItem ^l in listView1->Items)
    {
    listView2->Items->Add(gcnew ListViewItem(l->Text));
     for each(subitem ^s in l->subitems)
    mais il y a un pb comment recuperer le text de s

  16. #16
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par d�faut
    Oula, je me demande bien quel peut etre le nom de cette propri�t� magique ...
    Pour toutes ces infos, Intellisence te renseigne bien, sinon il y a msdn

Discussions similaires

  1. probl�me avec les forms 6i!
    Par JauB dans le forum Oracle
    R�ponses: 2
    Dernier message: 07/11/2005, 08h33
  2. R�ponses: 7
    Dernier message: 27/10/2005, 14h24
  3. [FN]Question sur les formes normales
    Par joxbl dans le forum Sch�ma
    R�ponses: 1
    Dernier message: 18/10/2005, 16h11
  4. [C#] Application MDI (instancier les form enfants)
    Par EFCAugure dans le forum Windows Forms
    R�ponses: 5
    Dernier message: 12/10/2005, 11h30
  5. Quel est l'�quivalent de Findcomponent pour les Forms ?
    Par Ben_Le_Cool dans le forum Composants VCL
    R�ponses: 12
    Dernier message: 23/09/2005, 12h48

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