Accueil > Forum > > > > Icone listview
Icone listview
mardi 19 février 2008 à 17:47:46 |
Icone listview

akalys
|
Bonjour à tous, J'ai le code suivant SHFILEINFO sfi; ZeroMemory(&sfi, sizeof(SHFILEINFO)); SHGetFileInfo(name, FILE_ATTRIBUTE_NORMAL, &sfi,sizeof(SHFILEINFO),SHGFI_USEFILEATTRIBUTES | SHGFI_ICON); HIMAGELIST himage; himage=ImageList_Create(16, 16, ILC_COLORDDB | ILC_MASK, 3, 0); ListView_SetExtendedListViewStyle(tmplistview, LVS_EX_CHECKBOXES | LVS_EX_FULLROWSELECT); //ajouet checkbox dans la listeview ListView_SetItemText(tmplistview,0,nCol,name); //ajout du texte de l'item dans nCol, nItem LvItem.stateMask = 0xFFFF; LvItem.cchTextMax=260; LvItem.iImage=ImageList_AddIcon(himage,sfi.hIcon); SendMessage(tmplistview,LVM_SETIMAGELIST,LVSIL_SMALL,(LPARAM)himage); J'ai un problème et a chaque fois tout mes icone ce reinitialise avec l'icone de l'item courant. merci Vive le rugby XIII
|
|
mercredi 20 février 2008 à 06:51:44 |
Re : Icone listview

Renfield
|
ne m'etonne pas... tu recréé une imageliste et tu l'affecte a ta listview
ta listview n'a donc plus qu'une seule icone qu'elle peut afficher..
que souhaites tu faire ?
Renfield Admin CodeS-SourceS- MVP Visual Basic
|
|
mercredi 20 février 2008 à 09:29:29 |
Re : Icone listview

akalys
|
Bien je souhaiterais que quand j'ajoute un fichier il gardfe son icone qui lui est associer, et ce pour chaque item que j'ajouterais a la listview.
Vive le rugby XIII
|
|
mercredi 20 février 2008 à 09:33:58 |
Re : Icone listview

Renfield
|
donc tu souhaites juste ajouter une icone a la listview ajouter un item associé a cette icone...
là, tu créé une nouvelle imageliste, tu ajoutes l'icone, l'item lié a cette icone. en gros : SHFILEINFO sfi; ZeroMemory(&sfi, sizeof(SHFILEINFO)); SHGetFileInfo(name, FILE_ATTRIBUTE_NORMAL, &sfi,sizeof(SHFILEINFO),SHGFI_USEFILEATTRIBUTES | SHGFI_ICON); HIMAGELIST himage; SendMessage(tmplistview,LVM_GETIMAGELIST,LVSIL_SMALL,(LPARAM)himage); ListView_SetItemText(tmplistview,0,nCol,name); //ajout du texte de l'item dans nCol, nItem LvItem.stateMask = 0xFFFF; LvItem.cchTextMax=260; LvItem.iImage=ImageList_AddIcon(himage,sfi.hIcon);
pourquoi ne pas d'ailleurs, utiliser la msglist système ? si c'est juste pour garder les icones en double, c'est dommage...
Renfield Admin CodeS-SourceS- MVP Visual Basic
|
|
mercredi 20 février 2008 à 09:37:42 |
Re : Icone listview

Renfield
|
[edit] je voulais dire ImgList system SHFILEINFO sfi; himageList = GetFileInfo("C:\\", SHGFI_SYSICONINDEX Or SHGFI_SMALLICON, sfi);
Renfield Admin CodeS-SourceS- MVP Visual Basic
|
|
mercredi 20 février 2008 à 09:49:09 |
Re : Icone listview

akalys
|
tu ne crée pas d'image list dans ton code. et getfileinfo visual me dis qu'il connais pas ^^.
il ne faudrait pas justement que je crée plusieurs image list ?
Vive le rugby XIII
|
|
mercredi 20 février 2008 à 10:03:15 |
Re : Icone listview

Renfield
|
il faut en créer UNE imageliste, la première fois, c'est tout... ensuite, simplement se contenter d'y ajouter tes icones... toi, tu recréé actuellement une nouvelle imagelist a chaque fichier, mais la listview n'en accepte qu'une a la fois, par format d'affichage.... du coup, tu perds tes anciennes icones pour le GetFileInfo, pardon, c'est une sub (extraite de http://files.codes-sources.com/fichier.aspx?id=7433&f=Module_IDL_Operations.bas) qui simplifie en réalité ShGetFileInfo. pour l'uimagelist systeme, il faudrait plutot faire : SHFILEINFO sfi; himageList = SHGetFileInfo("C:\\", 0, &sfi, sizeof(SHFILEINFO), SHGFI_SYSICONINDEX | SHGFI_SMALLICON); RenfieldAdmin CodeS-SourceS- MVP Visual Basic
|
|
mercredi 20 février 2008 à 10:08:40 |
Re : Icone listview

akalys
|
D'accord je viens de comprendre, il faut que je crée une seul image liste une seule fois et que je mette tout les icone dedans.
Il faut donc que je crée mon image list en dehors de ma listview si je montre pas?
Car sinon elle va être recrée a chaque fois.
je viens d'essayer ta commande
himageList = SHGetFileInfo("C:\\", 0, &sfi, sizeof(SHFILEINFO), SHGFI_SYSICONINDEX | SHGFI_SMALLICON);
Et sa me met une error : cannot convert from 'DWORD_PTR' to 'HIMAGELIST
Vive le rugby XIII
|
|
jeudi 21 février 2008 à 19:49:21 |
Re : Icone listview

racpp
|
Réponse acceptée !
Salut, Voici globalement comment il faut procéder: Tu peux utiliser l' ImageList du système. Pas besoin de créer la tienne. Voici comment récupérer son HANDLE: SHFILEINFO shi; HIMAGELIST himglist=(HIMAGELIST)SHGetFileInfo(0,0,&shi,sizeof(SHFILEINFO), SHGFI_SYSICONINDEX | SHGFI_SMALLICON);Tu attaches ensuite ce HANDLE à ta ListView: ListView_SetImageList(hListView,himglist,LVSIL_SMALL);Maintenant, à chaque fois que tu as besoin d'ajouter un élément à ta ListView, tu récupères l'index de l'icone correspondant à l'extension du fichier en faisant: SHGetFileInfo(szchemindufichier,0,&shi,sizeof(SHFILEINFO), SHGFI_SYSICONINDEX | SHGFI_SMALLICON);L'index de l'icone se retrouvera dans le membre iIcon de la structure SHFILEINFO. Tu passeras sa valeur au membre iImage de la structure LVITEM: LvItem.iImage=shi.iIcon;Il suffira enfin d'ajouter l'item à ta ListView: ListView_InsertItem(hListView,&LvItem);Pour les fichiers EXE, il faudra extraire l'icone depuis l'exécutable en utilisant ExtractIcon() par exemple. Voilà j'espère n'avoir rien omis.
|
|
jeudi 21 février 2008 à 22:04:03 |
Re : Icone listview

Renfield
|
j'avais tenté de le mettre sur cette voie, mais apparemment sans succès ^^
Renfield Admin CodeS-SourceS- MVP Visual Basic
|
|
Cette discussion est classée dans : icone, listview, himage, sfi, shfileinfo
Répondre à ce message
Sujets en rapport avec ce message
icone des applications dans une listview [ par ebooserge ]
bonjor a tous, voila jai un petit probleme avec les listview. j'arrive a creer des listview avec des icones contenues dans une HIMAGELIST que je cree
Récupérer le texte d'une icone d'une ListView [ par MorbhAck ]
Bonsoir a tous !J'aurais un petite question ...Je voudrais récupérer le nom d'une icone d'une listView.J'ai une piste mais je block un peu :shttp://ms
listview et colonnes borland C++ 6.0 [ par bougnat83 ]
bonjour, j'ai créé une listview sous borland c++ 6.0, avec deux colonnes. J'aimerais maintenant effacer le contenu de toute ma listview remplie précéd
Icone du .exe [ par ipascual ]
Bonjour,Je suis en train de faire un programme, et j`aimerais changer l`icone du fichier executable, pour pouvoir faire la difference entre plusieurs
changer l'icone d'une fenêtre SDL [ par zonebleue ]
Bonjour,je voudrais savoir comment changer l'icône d'une fenêtre SDL ? merci d'avance
Simuler un doubleclik depuis Windev sur un icone du systray ? [ par nascimo ]
Bonjour, je n'arrive pas à simuler un doubleclik sur un iconne du systray depuis Windev ...Je récupére bien le handle de la fenêtre mais la commande s
erreur icone visual C++ [ par crocblanc ]
Bonjour!!!! Je suis en train de créer une application sur visual c++ express 2005 et j'ai voulu mettre une icone pour la fenetre principale à côté du
Prob listview [ par titi4659 ]
Bonjour, J'essaye de faire fonctionne une listview.je suis arrivé au stade ou je souhaite récupéré le numéro de la colonne, pour cela j'utilise l'evén
MFC: listeview, longueur max [ par blinix123 ]
Bonjour,Voila j'ai passer mon sujet aujourd'hui et le prof m'as fais sécher:j'ai un programme fais avec les MFC, et j'ai une listview, et il m'as dema
ListView [ par ncoder ]
Bonjour à tous !Je fais un programme avec une listview à 5 colonnes, dont la dernière est une progressbar.Pour gérer tout ça, j'ai utilisé le style LV
Livres en rapport
|
Derniers Blogs
JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|