ListView - API Windows

Résolu
banane_rose Messages postés 302 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 22 avril 2006 - 21 juin 2005 à 10:31
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 - 26 juin 2005 à 16:14
dans tout les exemple que j'ai vu c'était que des dialog

mais moi je veux pas de dialog ! comment on fait pour créer une listview par createwindowex ?

<hr size="2" width="100%">Dorian / 14 ans / sous Dev-C++

25 réponses

cs_AlexMAN Messages postés 1536 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 24 mai 2009 1
21 juin 2005 à 10:48
Le nom de classe d'un controle listview est WC_LISTVIEW.

+2(p - n)
3
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
21 juin 2005 à 14:31
#define LVS_EX_FULLROWSELECT 0x20

ciao...
BruNews, MVP VC++
3
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
21 juin 2005 à 20:55
Tu dois apprendre a aller regarder dans les .h pour comprendre d'ou ca
vient: tu ouvres commctrl.h (dans le dossier include du compilo). Tu
cherche LVS_EX_FULLROWSELECT. Si tu trouves c'est que tu va pouvoir
t'en sortir, c'est juste un #ifdef qui t'empêche d'utiliser cette
définition. C'est le cas ici, tu vois que le define est entouré par un
#if (_WIN32_IE >= 0x0300)

Au tout début de ton projet, tu définis donc _WIN32_IE à au moins cette valeur, ou plus si tu veux, tu peux connaitre la correspondances avec les versions d'IE

Et quand c'est pas celui la, c'est _WIN32_WINNT que tu devra définir
3
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
22 juin 2005 à 14:53
A placer AVANT <windows.h>

ciao...
BruNews, MVP VC++
3

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

Posez votre question
banane_rose Messages postés 302 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 22 avril 2006
22 juin 2005 à 21:31
Bon reprennons à zéro !


Dites moi si y'a des erreurs .



1. J'installe tout les bidules pour ma listview :

#define ID_LISTVIEW 100


...


HWND hListView;


...


hListView= CreateWindowEx(0, "WC_LISTVIEW", NULL,


WS_VISIBLE|WS_CHILD,


10, 10,300,200,hWnd,(HMENU)ID_LISTVIEW,


hInst, NULL);



2. Je complète ma listview :

LV_COLUMN lvColumn;


lvColumn.mask = LVCF_FMT | LVCF_WIDTH | LVCF_TEXT | LVCF_SUBITEM;

lvColumn.fmt = LVCFMT_RIGHT;

lvColumn.cx = 70;

lvColumn.pszText = "Temps";

ListView_InsertColumn(hListView,0,(LPARAM)&lvColumn);

lvColumn.cx = 200;

lvColumn.pszText = "Action";

ListView_InsertColumn(hListView,0,(LPARAM)&lvColumn);

ListView_SetExtendedListViewStyleEx(hListView,0,LVS_EX_FULLROWSELECT);




LVITEM LvItem;

LvItem.mask = LVIF_TEXT | LVIF_PARAM | LVIF_STATE;

LvItem.state = 0;

LvItem.stateMask = 0;

LvItem.iItem = 0;

LvItem.lParam = 0;

LvItem.iSubItem = 0;



int itemPos = ListView_InsertItem(hListView,(LPARAM)&LvItem);

ListView_SetItemText(hListView,itemPos,0,"00:12:54");

ListView_SetItemText(hListView,itemPos,1,"Jouer un son");

itemPos = ListView_InsertItem(hListView,(LPARAM)&LvItem);

ListView_SetItemText(hListView,itemPos,0,"00:24:00");

ListView_SetItemText(hListView,itemPos,1,"Ouvrir fichier "App.exe" ");




3. Il me manque quelques trucs alors d'après vous il faut :



#define LVS_EX_FULLROWSELECT 0x20

#define _WIN32_IE 0x0400



#include <commctrl.h>

#pragma comment(lib,"comctl32.lib") //ça je sais pas trop si faut le mettre



Là si je compile c'est fenêtre vide ...



4. On a parlé de InitCommonControls , bon je le rajoute :

InitCommonControls();



j'essaye de compiler >>[Linker error] undefined reference to `InitCommonControls@0'


sigh !
<hr size ="2" width="100%">Dorian / 14 ans / sous Dev-C++
3
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
23 juin 2005 à 19:11
Erreur de ta part: ce n'est pas "WC_LISTVIEW" mais WC_LISTVIEW le nom de la calsse
3
banane_rose Messages postés 302 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 22 avril 2006
21 juin 2005 à 11:55
CODE ici



à la ligne : ListView_SetExtendedListViewStyleEx(hListView,0,LVS_EX_FULLROWSELECT);



erreur : `LVS_EX_FULLROWSELECT' undeclared (first use this function)




<hr size="2" width="100%">Dorian / 14 ans / sous Dev-C++
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
21 juin 2005 à 12:35
0x20

ciao...
BruNews, MVP VC++
0
banane_rose Messages postés 302 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 22 avril 2006
21 juin 2005 à 14:08
heu ... ça veut dire quoi ça ?

<hr size="2" width="100%">Dorian / 14 ans / sous Dev-C++
0
banane_rose Messages postés 302 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 22 avril 2006
21 juin 2005 à 14:43
pour ça ok mais y'a l'autre `ListView_SetExtendedListViewStyleEx' undeclared (first use this function)
ça doit être un autre je pense


<hr size="2" width="100%">Dorian / 14 ans / sous Dev-C++
0
cs_Arnotic Messages postés 933 Date d'inscription dimanche 1 avril 2001 Statut Membre Dernière intervention 9 janvier 2012
21 juin 2005 à 15:04
Il faut faire un #include <commctrl.h>

@+
Arnotic,
Admin CS, MVP Visual C++
0
cs_AlexMAN Messages postés 1536 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 24 mai 2009 1
21 juin 2005 à 15:07
#include <commctrl.h>

et aussi pense a linker comctl32.lib : Sous VC++ :#pragma comment(lib, "comctl32.lib"), pour Dev C++, ca se fait dans les options du projet.

+2(p - n)
0
banane_rose Messages postés 302 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 22 avril 2006
21 juin 2005 à 15:31
#include <commctrl.h> y est déja ... ça ne marche toujours pas .



CODE ici



si je le retire , ça compile mais avec une fenêtre vide
<hr size="2" width="100%">Dorian / 14 ans / sous Dev-C++
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
21 juin 2005 à 20:57
Ah oui, tu as aussi oublié le InitCommonControls, le truc auquel tu dois penser à chaque fois que ca marche pas
0
banane_rose Messages postés 302 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 22 avril 2006
21 juin 2005 à 21:38
merci pour tes réponses ! 'verais ça demain moi .

<hr size="2" width="100%">Dorian / 14 ans / sous Dev-C++
0
banane_rose Messages postés 302 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 22 avril 2006
22 juin 2005 à 14:40
rââââ ! ça me saoule ce truc !



j'ai cherché ListView_SetExtendedListViewStyleEx dans le fichier .h et j'ai trouvé #if (_WIN32_IE >= 0x0400) . Docn j'ai essayé #define _WIN32_IE 0x0400


Mais non ça marche toujours pas !



et le InitCommonControls ça marche comment ça ?


<hr size ="2" width="100%">Dorian / 14 ans / sous Dev-C++
0
banane_rose Messages postés 302 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 22 avril 2006
22 juin 2005 à 19:08
tu parles de quoi là ? faut que je place quoi avant <windows.h> ?

<hr size="2" width="100%">Dorian / 14 ans / sous Dev-C++
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
22 juin 2005 à 19:32
#define _WIN32_WINNT 0x0500
#define _WIN32_IE 0x0500
#include <windows.h>

ciao...
BruNews, MVP VC++
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
22 juin 2005 à 21:44
DevC++ ne comprend peut être (surement) pas ce pragma, ajoute plutot -lcomctl32 au options du linker
0
banane_rose Messages postés 302 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 22 avril 2006
23 juin 2005 à 11:18
J'ai retiré le pragma et j'ai mis ça dans les options , bah lus de message d'erreur mais j'obtiens une fenêtre vide !

...



CODE


essayez de le compilez chez vous pour voir ...


<hr size="2" width="100%">Dorian / 14 ans / sous Dev-C++
0
Rejoignez-nous