begin process at 2012 05 29 03:56:21
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Windows

 > 

GUI

 > 

Insertion dans un Treeview sans doublons


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Insertion dans un Treeview sans doublons

samedi 26 septembre 2009 à 17:24:01 | Insertion dans un Treeview sans doublons

afavre_tx

Bonjour,

J'ai besoin d'alimenter un Treeview à partir d'un fichier texte qui est une liste d'artiste, titre, date.
ex:
Artiste Date Image
Air 26/02/2002 air_live_260202.jpg
Air 05/06/2004 air_live_050604.jpg
...
Bob Marley ... ...
Bob Marley ... ...
etc..

Je récupère bien ma valeur a insérer (artiste) dans mon treeview, mais j'obtien autans d'entrées que de ligne dans mon fichier texte.

hors je voudrais qu'avant d'insérer une nouvelle entrée dans mon treeview, je vérifie si l'entrée n'existe pas.

J'ai pour l'instant :

Code C/C++ :


// Déclaration de mon treeview //
TVINSERTSTRUCT tvis;
TVITEMEX tvix, tvinfo;
HTREEITEM ht, htFather, htRoot;
TVITEM tvi;

tvix.mask = TVIF_TEXT | TVIF_PARAM | TVIF_SELECTEDIMAGE | TVIF_STATE | TVIF_IMAGE | TVIF_SELECTEDIMAGE;
tvix.pszText = L"Artistes";
tvix.lParam = 0;
tvix.stateMask = TVIS_EXPANDED | TVIS_STATEIMAGEMASK ;
tvix.state = TVIS_EXPANDED;
tvix.iImage = IDX_DISC;
tvix.iSelectedImage = tvix.iImage;
tvis.itemex = tvix;
tvis.hParent = TVI_ROOT;
tvis.hInsertAfter = TVI_LAST;
htRoot = TreeView_InsertItem(hWndTree,&tvis);

// REMOVE ITS CHECKBOX (STATE IMAGE)
tvi.mask = TVIF_STATE;
tvi.hItem = htRoot;
tvi.stateMask = TVIS_STATEIMAGEMASK;
tvi.state = 0;
TreeView_SetItem(hWndTree,&tvi);

// ... dans ma boucle de traitement pour récupérer ma valeur lPa.Artiste

if ( (ht = TreeView_GetChild(hWndTree,htFather)) != NULL ) {
do {
tvi.mask = TVIF_PARAM|TVIF_TEXT;
tvi.hItem = ht;
tvi.pszText = szToComp;
tvi.cchTextMax = 256;
// TreeView_GetItem(hWndTree,&tvi);
if ( StrCmp(szToComp,lpA.pwszArtist) == 0 ) break;
} while ( (ht = TreeView_GetNextSibling(hWndTree,ht)) != NULL );
}

if ( ht ) {
// THIS NODE EXISTS ALREADY, MOVE UP WITH IT
htFather = ht;
goto NextEntry;
} else {
// OTHERWISE, ADD IT AND MOVE UP WITH THIS NEW ONE
tvix.mask = TVIF_TEXT | TVIF_PARAM | TVIF_SELECTEDIMAGE | TVIF_STATE | TVIF_IMAGE | TVIF_SELECTEDIMAGE;
tvix.pszText = lpA.pwszArtist;
tvix.lParam = 0;
tvix.stateMask = TVIS_EXPANDED | TVIS_STATEIMAGEMASK;
tvix.state = TVIS_EXPANDED | TVIS_STATEIMAGEMASK;
// tvix.iImage = IDX_EMAILFOLDER;
// tvix.iSelectedImage = tvix.iImage;
tvis.itemex = tvix;
tvis.hParent = htFather;
tvis.hInsertAfter = TVI_LAST;
htFather = TreeView_InsertItem(hWndTree,&tvis);
}



Je n'arrive pas a comparer si mon entrée existe déjà ou pas.

Si quelquns a déjà rencontré ce problème, merci de votre aide.

Alain



Cette discussion est classée dans : treeview, tvif, tvi, tvix, tvis


Répondre à ce message

Sujets en rapport avec ce message

icône item treeview [ par raoulman ] Bonjour, Je m'essaye aux treeview en API mais là je dois dire que je patoge pas mal. Avec tout ce que j'ai pu trouver sur le forum j'ai aujourd'hui c treeview edit label [ par lectpe ] Bonjour.Je voudrais pouvoir éditer un label dans un treeview.MON CODE :TV_INSERTSTRUCT tviis;TV_ITEM tvi;...      case WM_NOTIFY:      {         HWND QT-Objet TreeView [ par mystikilla ] Bonjour,J'ai passé deux  jours entre des docs et des forums pour simplement etre un peut perdu.Je souhaite faire un TreeView contenant une arborescenc [Gtkmm] Récupérer la ligne sélectionnée d'un TreeView [ par Arkot86 ] Bonjour tout le monde, j'essaye depuis assez lontemps maintenant de récupérer la valeur d'une ligne d'un TreeView lorsque je double clique dessus. J Recupérer le nom du premier noeud d'un treeview [ par kitcarflo ] J'aimerai pouvoir récupérer dans une variable le mot inscrit dans un treeview. par exemple mon treeview commence par "toto", en enfant de toto on tro treeview [ par raoulman ] Bonjour, Quelqu'un pourraît-il me fournir un lien vers un tutoriel ou un code simple pour faire une treeview ? Merci Param Treeview [ par Gendal67 ] Bonsoir à tous (ou plutôt bonne nuit ) !J'ai un petit souci avec un control de type treeview et j'aurais aimé une information.Ma treeview possède des win32 treeview [ par _Jonathan ] salut a tous, Prog windows : je souhaiterais désactiver un item d'un treeview. j'ai cherché sur le net, et sur certains site, on parle de TVIS_DISABLE Treeview API WINDOWS [ par lektrosonic ] Bonjour,je code en C et en API Windows une applicationJ'ai un treeview et je voudrais mettre a jour le texte de un de ses elements sans le supprimer.J treeview API windows [ par lektrosonic ] Bonsoir, en C et avec api windows..je souhaite modifier le texte d un element d un treeview sans le supprimer.j'ai esseye le message TVM_SETITEM mais


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,515 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales