Remplir Treeview et colonnes borland c++ builder 6.0

Résolu
bougnat83 Messages postés 34 Date d'inscription vendredi 28 avril 2006 Statut Membre Dernière intervention 3 janvier 2007 - 13 déc. 2006 à 16:16
cs_nana87 Messages postés 5 Date d'inscription samedi 25 novembre 2006 Statut Membre Dernière intervention 10 mai 2008 - 10 mai 2008 à 12:52
bonjour. Sous borland c++ builder 6.0, j'ai un treeview dans lequel j'ai mis 2 colonnes. Mon problème est que je n'arrive pas à remplir les lignes de mes colones (avec un ansistring par exemple). je ne sais pas quelle méthode utiliser et comment l'utiliser.
merci

13 réponses

JejeLand Messages postés 111 Date d'inscription mercredi 2 février 2005 Statut Membre Dernière intervention 5 août 2011 1
14 déc. 2006 à 08:44
Salut,

TListItem *ListIt;

ListIt = ListView->Items->Add();
ListIt->Caption = "Toto";  // Affichage 1er colonne
ListIt->SubItems->Add("0") // Affichage colonne suivante
ListIt->SubItems->Add("+")
ListIt->SubItems->Add("0")
3
JejeLand Messages postés 111 Date d'inscription mercredi 2 février 2005 Statut Membre Dernière intervention 5 août 2011 1
14 déc. 2006 à 16:09
Pour effacer : ListView->Clear()

Le code suivant ser à trier les colonnes.

//---------------------------------------------------------------------------
//      Sélection de la colonne ListView1 à trier
//---------------------------------------------------------------------------
void __fastcall TForm1::ListView1ColumnClick(TObject *Sender,TListColumn *Column)
{
        if(numCol==Column->Index)
        {
          if(cclick==1) cclick = 0;     // Trie décroissant
          else          cclick = 1;     // Trie croissant
        }
        numCol = Column->Index;


        ListView1->CustomSort(CustomSortProc,cclick);
}


//---------------------------------------------------------------------------
//      Mise à jour ListView1 - Trie des infos du Rep sélectionné
//---------------------------------------------------------------------------
int __stdcall CustomSortProc(long Item1, long Item2, long ParamSort)
{
        String n1;
        String n2;
        unsigned long long val1;
        unsigned long long val2;
        TListItem *i1,*i2;


        i1=(TListItem*)Item1;
        i2=(TListItem*)Item2;


        switch(numCol)
        {
          // trie sur nom de l'entrée
          case 0 : n1 = i1->Caption.LowerCase();
                   n2 = i2->Caption.LowerCase();
                   break;
          // trie sur le type de l'entrée plus nom de l'entrée
          case 1 : n1 = i1->SubItems->Strings[numCol-1]+i1->Caption.LowerCase();
                   n2 = i2->SubItems->Strings[numCol-1]+i2->Caption.LowerCase();
                   break;
          // trie sur L'ID
          case 2 : val1 = atol(i1->SubItems->Strings[numCol-1].c_str());
                   n1.sprintf("%09ul",val1);
                   val2 = atol(i2->SubItems->Strings[numCol-1].c_str());
                   n2.sprintf("%09ul",val2);
                   break;
          // trie sur la taille
          case 3 : val1 = atol(i1->SubItems->Strings[numCol-1].c_str());
                   n1.sprintf("%09ul",val1);
                   val2 = atol(i2->SubItems->Strings[numCol-1].c_str());
                   n2.sprintf("%09ul",val2);
                   break;
        }


        if (n1==n2) return 0;
        if (ParamSort)
        {
          if(n1>n2) return 1;
          if (n1<n2) return -1;
        }
        else
        {
          if(n1>n2) return -1;
          if (n1<n2) return 1;
        }
        return 0;
}


 
3
JejeLand Messages postés 111 Date d'inscription mercredi 2 février 2005 Statut Membre Dernière intervention 5 août 2011 1
18 déc. 2006 à 08:17
Salut,

Pour ajouter des images, il faut ajouter à ton projet un objet TImageList puis l'associer à ton ListView. Ensuite lorsque tu rempli ton ListView ajoute ListView->ImageIndex = x // valeur de l'image du TImageList.
3
bougnat83 Messages postés 34 Date d'inscription vendredi 28 avril 2006 Statut Membre Dernière intervention 3 janvier 2007
13 déc. 2006 à 16:31
Desolé, je me suis trompé, il s'agit en fait d'une Listview et non d'un Treeview donc il faut lire :
Remplir Listview et colonnes borland c++ builder 6.0

bonjour. Sous borland c++ builder 6.0, j'ai une listview dans lequel j'ai mis 2 colonnes. Mon problème est que je n'arrive pas à remplir les lignes de mes colones (avec un ansistring par exemple). je ne sais pas quelle méthode utiliser et comment l'utiliser.
merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
bougnat83 Messages postés 34 Date d'inscription vendredi 28 avril 2006 Statut Membre Dernière intervention 3 janvier 2007
14 déc. 2006 à 12:05
merci beaucoup. C'est en effet comme a qu'il faut faire.
0
bougnat83 Messages postés 34 Date d'inscription vendredi 28 avril 2006 Statut Membre Dernière intervention 3 janvier 2007
14 déc. 2006 à 14:06
j'en profite pour poser 2 autres questions. Comment fait-on pour trier les éléments d'une colonne ? et comment effacer la listview(éléments des deux colonnes) ?
merci
0
bougnat83 Messages postés 34 Date d'inscription vendredi 28 avril 2006 Statut Membre Dernière intervention 3 janvier 2007
14 déc. 2006 à 22:51
Bonsoir. J'ai des problèmes de compil avec ton code. Ca a l'air d'être lors de la déclaration de int __stdcall CustomSortProc ; je ne sais pas où et comment la déclarer.
Et de même pour la variable numCol...
merci de ton aide
0
JejeLand Messages postés 111 Date d'inscription mercredi 2 février 2005 Statut Membre Dernière intervention 5 août 2011 1
15 déc. 2006 à 08:30
Salut,

La variable numCol,cclick et la fonction int __stdcall CustomSortProc sont déclaré  au début du fichier en global comme suit:


int __stdcall CustomSortProc(long Item1,long Item2,long ParamSort);
int numCol = 1;
int cclick = 1;
0
bougnat83 Messages postés 34 Date d'inscription vendredi 28 avril 2006 Statut Membre Dernière intervention 3 janvier 2007
15 déc. 2006 à 23:43
Super, merci, tout fonctionne parfaitement !!!
Un grand merci et puisque tu es calé, je vais abuser encore une fois de tes connaissances pour savoir comment récuperer le caption l'item sélectionné dans la listeview (celui de la 1ère colonne)?
0
bougnat83 Messages postés 34 Date d'inscription vendredi 28 avril 2006 Statut Membre Dernière intervention 3 janvier 2007
15 déc. 2006 à 23:49
Euhhh, désolé mais je viens de trouver : ListView->Selected->Caption
merci et à bientôt
0
bougnat83 Messages postés 34 Date d'inscription vendredi 28 avril 2006 Statut Membre Dernière intervention 3 janvier 2007
16 déc. 2006 à 00:08
re? Sais-tu comment insérer une petite image à coté de chaque item des lignes de la 1ère colonne. j'inscris en fait dans cette colonne le contenu d'un répertoire. Je voudrais donc mettre une petite image de répertoire quand c'est un repertoire et une petite image de fichierquand c'est un fichier, comme sous l'explorateur.
0
bougnat83 Messages postés 34 Date d'inscription vendredi 28 avril 2006 Statut Membre Dernière intervention 3 janvier 2007
3 janv. 2007 à 19:01
salut et bonne année à tous.
J'ai une listview remplie d'un nombre d'item faisant aparaître la scrollbar.Comment faire avec un drag and drop pour faire défiler la liste lorsqu'on déplace l'item selectionné vers le haut ou le bas de la liste?
merci
toujours borland c++ builder 6.0
0
cs_nana87 Messages postés 5 Date d'inscription samedi 25 novembre 2006 Statut Membre Dernière intervention 10 mai 2008
10 mai 2008 à 12:52
Bonjour,
j'ai besoin d1 aide,il me faut faire une interface graphique avec
borland c++builder 6.0 cette interface a pour but de visualiser
l'analyse des méthodes d'apprentissage à base du noyau (toolbox)pour
différentes méthodes d'apprentissage et différents paramètres de
régularisation pour l'estimation de taux d'erreur(la performance),en
utilisant aussi des histogrammes comme des résultats de comparaison et
à l'aide du module base de donnée on devra créer une petite base de
donnée pour organiser les méthodes les corpus utilisés et la relation
expérimentation ki relie les deux tables précedantes et ça juste pour
acheminer les résultat de l'apprentissage et du test ,donc j'aimerai
bien avoir votre aide (des exemples d'interfaces ki sont déja traitées
ds ce domaine)voici mon email :pour_servir@hotmail.fr;j'attends vos
réponses

tout le temps........
0
Rejoignez-nous