Télécharger le zip
Source très interessante pour manipuler les ListView, 10/10.Malheureusement je ne peux pas utiliser InitCommonControlEx(...) et ListView_SetExtendedListViewStyleEx(...) parce que j'utilise DevC++.Juste une question, pourquoi tu as defini _WIN32_WINNT en 0x501(en 1ère ligne)??? et une remarque: est-ce normal (ou un oubli) que tu utilises HeapAlloc(...) sans HeapFree(...)? A+
C'est pour la petite flèche dont je parlais, elle n'est dispo que pour XP ou supérieur#if (_WIN32_WINNT >= 0x501)#define HDF_SORTUP 0x0400#define HDF_SORTDOWN 0x0200#endifPour InitCommonControlEx, il faudrait que tu télécherges la dernière version de MinGW. Ou bien bien télécharge le toolkit Visual C++ (compilateur de Visual C++ en ligne de commande, gratuit).Pour le HeapFree, c'est un oubli, et c'est corrigé
Où trouver ce toolkit Visual C++, sur MSDN??? et est-ce compatible avec DevC++ 4.9.5.0???
http://msdn.microsoft.com/visualc/vctoolkit2003/Je pense qu'il y a moyen de l'utiliser avec dev-c++
salut vecchio56.J'essaye de comprendre commment programmer les listview.Je compile ton source et j'obtient l'erreur suivante:--------------------Configuration: LVSort - Win32 Debug--------------------Compiling...LVSort.cppLinking...LVSort.obj : error LNK2001: unresolved external symbol __imp__InitCommonControlsEx@4LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _mainmerci d'avance de m'aider. A+Debug/LVSort.exe : fatal error LNK1120: 2 unresolved externalsError executing link.exe.Creating browse info file...LVSort.exe - 3 error(s), 0 warning(s)
J'imagine que tu as du refaire un nouveau projet (sans doute que tu as vs6). Il faut que tu ajoutes la librairie comctl32.lib, soit dans les options du projet, soit en ajoutant la directive#pragma comment(lib, "comctl32.lib")directement dans le fichier cpp pour dire au linker d'utiliser cette librairie.
Merci beaucoup, vecchio56.Cela à marcher du premier coup. Mais l'affichage des flèches ne fonctionne pas, et je suis sous XP.j'ai oublié de te signaler ces erreurs de compilation:C:\Documents and Settings\Ceria\Mes documents\listview\testliview\LVSort.cpp(43) : error C2065: 'HDF_SORTUP' : undeclared identifierC:\Documents and Settings\Ceria\Mes documents\listview\testliview\LVSort.cpp(151) : error C2065: 'HDF_SORTDOWN' : undeclared identifierC:\Documents and Settings\Ceria\Mes documents\listview\testliview\LVSort.cpp(256) : error C2664: 'HeapFree' : cannot convert parameter 3 from 'long' to 'void *' Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style castError executing cl.exe.Creating browse info file...LVSort.exe - 3 error(s), 0 warning(s)Alors j'ai mis en commentaire "HeapFree(heap, 0, lvi.lParam);" et j'ai rajouté:#if (_WIN32_WINNT >= 0x501)#define HDF_SORTUP 0x0400#define HDF_SORTDOWN 0x0200#endifmais mon compilateur n'aime pas: "#if (_WIN32_WINNT >= 0x501)", il me signale:c:\documents and settings\ceria\mes documents\listview\testliview\LVSort.cpp(6) : fatal error C1012: unmatched parenthesis : missing ')'Error executing cl.exe.Donc j'ai suprimé le #if et le #endif et j'ai laissé les #define.Avec l'ajoût de ton aide, cela à marcher du premier coup. Mais l'affichage des flèches ne fonctionne pas, et je suis sous XP et vs6.
Regarde bien, au début de mon fichier, j'ai mis#define _WIN32_WINNT 0x501Vérifie que tu n'a pas enlevé cette ligne. Si ca ne marche toujours pas, dis le moi.
Au fait, dans ton message précédent, ca compilait bien, puisque tu avais juste un probleme de link....
La compilation se passe très bien, si je fais les modifs citées précédement.Et à la première ligne du fichier LVSort.cpp, j'ai bien#define _WIN32_WINNT 0x501
tu peux essayer d'enlever cette ligne alors, et de mettre#define HDF_SORTUP 0x0400#define HDF_SORTDOWN 0x0200à la placePour le HeapFree, le pb viens du fait que je compile en mode C (option /C à la place de /TC), donc il faut faire un cast explicite:HeapFree(heap, 0, (void*)lvi.lParam);
J'ai réalisé tes modifs, mais rien ne fais. Je n'ai toujours pas les flèches haut et bas qui s'affichent.Aurai-je toutes les bibliothèques (*.h) à jour?Pour le HeapFree, en utilisant un cast explicite, vs6 m'indique que "User breakpoint called from code at 0x77F667cd". Et le message: "HEAP[LVSort.exe]: Invalid Address specified to RtlFreeHeap( 00140000, 00144790 )".Par contre, quand j'utilise LVSort.exe (sans vs6), il n'y a aucune erreur. Je pense que c'est normal.
Bonjour vecchiole toolkit est pour 2003 si je lis bienexiste t'il une version pour VC6??merci++Nono
Je ne pense pas, je crois que c'est la première fois que ms fournissait gratuitement son compilateur
kschadethxB.
lut AllPour ceux qui developpe sur dev-cpp et qui n'arrive pas a utiliser InitCommonControls, la suite vous interressera...j'utilise dev cpp 4.9.9.0.*D'abord mettre a jour dev:dans dev cpp: menu "outils"-> "n. version/package" et pour verifier les versions grace au "package manager"Windows32 API en version 3.1gcc-core en 3.4.2....gcc-g++ en 3.4.2....gcc-objc en 3.4.2....et MinGW runtime en 3.5mettez a jour votre gnu make ca mange pas de pain, actuel 3.80.0-3 *Ensuite il faut lié la librairie utile comctl32.libdu nom de libcomctl32.a sous devcppaucune ligne de commande a taper pour le fegniant que je suis, merci au developpeur, menu "projet"->"option du projet"->onglet "parametres"->bouton"ajouter fichier"et puis allez chercher votre librairie libcomctl32.aApres le linkage de la lib la compil s'effectueJe vous souhaite une bonne journée et une bonne prog:)@++
Moi j'ai trouvé qu'il suffisait juste de définir convenablement _WIN32_IE (au moins 0x0300), c'est tout
et ajouter l'option -lcomctl32 au linker bien sur
Exelente source, moi qui cherchai comment apprendre à gérer une listview je suis servie ;)
Tu devrais enlever le 'e' à la fin de servie, ça pourrait prêter a confusion :)
MDR si je pouvai je le ferai. Je compte sur toi pour taire ce secret à jamais :D
Salut, J'aimerais me servir du code pour les petites flèches dans un projet VB.NET.Je ne suis pas sous Win XP mais si je regarde l'explorateur Windows de Win2000, les petites flèches, qui indiquent le sens du tri, y sont affichées.Est-ce que quelqu'un sait comment s'y prendre ou est en mesure de me fournir un exemple?Merci beaucoup!
Code interessant.Petite remarque: le 3ème paramètre de la fonction de comparaison (lParamSort) n'est pas utilisé dans ce code.Il devrait être utilisé pour passer un pointeur vers une structure.Il est judicieux de stocker dans cette dernière:*Le numéro de la colonne*L'ordre de tri à effectuer*...autres (suivant l'application)Cela permet de réduire l'utilisation de variables globales, et, en passant le numéro de la colonne, permet d'implémenter une unique fonction de tri.
Se souvenir du profil
Mot de passe oublié ? / Activation de compteCréer un compte