ListView - API Windows [Résolu]

Messages postés
302
Date d'inscription
lundi 11 avril 2005
Dernière intervention
22 avril 2006
- 21 juin 2005 à 10:31 - Dernière réponse :
Messages postés
6539
Date d'inscription
lundi 16 décembre 2002
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++
Afficher la suite 

Votre réponse

25 réponses

Meilleure réponse
Messages postés
1537
Date d'inscription
samedi 21 décembre 2002
Dernière intervention
24 mai 2009
- 21 juin 2005 à 10:48
3
Merci
Le nom de classe d'un controle listview est WC_LISTVIEW.

+2(p - n)

Merci cs_AlexMAN 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 87 internautes ce mois-ci

Commenter la réponse de cs_AlexMAN
Meilleure réponse
Messages postés
21054
Date d'inscription
jeudi 23 janvier 2003
Dernière intervention
7 novembre 2014
- 21 juin 2005 à 14:31
3
Merci
#define LVS_EX_FULLROWSELECT 0x20

ciao...
BruNews, MVP VC++

Merci BruNews 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 87 internautes ce mois-ci

Commenter la réponse de BruNews
Meilleure réponse
Messages postés
6539
Date d'inscription
lundi 16 décembre 2002
Dernière intervention
22 août 2010
- 21 juin 2005 à 20:55
3
Merci
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

Merci vecchio56 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 87 internautes ce mois-ci

Commenter la réponse de vecchio56
Meilleure réponse
Messages postés
21054
Date d'inscription
jeudi 23 janvier 2003
Dernière intervention
7 novembre 2014
- 22 juin 2005 à 14:53
3
Merci
A placer AVANT <windows.h>

ciao...
BruNews, MVP VC++

Merci BruNews 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 87 internautes ce mois-ci

Commenter la réponse de BruNews
Meilleure réponse
Messages postés
302
Date d'inscription
lundi 11 avril 2005
Dernière intervention
22 avril 2006
- 22 juin 2005 à 21:31
3
Merci
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++

Merci banane_rose 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 87 internautes ce mois-ci

Commenter la réponse de banane_rose
Meilleure réponse
Messages postés
6539
Date d'inscription
lundi 16 décembre 2002
Dernière intervention
22 août 2010
- 23 juin 2005 à 19:11
3
Merci
Erreur de ta part: ce n'est pas "WC_LISTVIEW" mais WC_LISTVIEW le nom de la calsse

Merci vecchio56 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 87 internautes ce mois-ci

Commenter la réponse de vecchio56
Messages postés
302
Date d'inscription
lundi 11 avril 2005
Dernière intervention
22 avril 2006
- 21 juin 2005 à 11:55
0
Merci
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++
Commenter la réponse de banane_rose
Messages postés
21054
Date d'inscription
jeudi 23 janvier 2003
Dernière intervention
7 novembre 2014
- 21 juin 2005 à 12:35
0
Merci
0x20

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

<hr size="2" width="100%">Dorian / 14 ans / sous Dev-C++
Commenter la réponse de banane_rose
Messages postés
302
Date d'inscription
lundi 11 avril 2005
Dernière intervention
22 avril 2006
- 21 juin 2005 à 14:43
0
Merci
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++
Commenter la réponse de banane_rose
Messages postés
936
Date d'inscription
dimanche 1 avril 2001
Dernière intervention
9 janvier 2012
- 21 juin 2005 à 15:04
0
Merci
Il faut faire un #include <commctrl.h>

@+
Arnotic,
Admin CS, MVP Visual C++
Commenter la réponse de cs_Arnotic
Messages postés
1537
Date d'inscription
samedi 21 décembre 2002
Dernière intervention
24 mai 2009
- 21 juin 2005 à 15:07
0
Merci
#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)
Commenter la réponse de cs_AlexMAN
Messages postés
302
Date d'inscription
lundi 11 avril 2005
Dernière intervention
22 avril 2006
- 21 juin 2005 à 15:31
0
Merci
#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++
Commenter la réponse de banane_rose
Messages postés
6539
Date d'inscription
lundi 16 décembre 2002
Dernière intervention
22 août 2010
- 21 juin 2005 à 20:57
0
Merci
Ah oui, tu as aussi oublié le InitCommonControls, le truc auquel tu dois penser à chaque fois que ca marche pas
Commenter la réponse de vecchio56
Messages postés
302
Date d'inscription
lundi 11 avril 2005
Dernière intervention
22 avril 2006
- 21 juin 2005 à 21:38
0
Merci
merci pour tes réponses ! 'verais ça demain moi .

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

<hr size="2" width="100%">Dorian / 14 ans / sous Dev-C++
Commenter la réponse de banane_rose
Messages postés
21054
Date d'inscription
jeudi 23 janvier 2003
Dernière intervention
7 novembre 2014
- 22 juin 2005 à 19:32
0
Merci
#define _WIN32_WINNT 0x0500
#define _WIN32_IE 0x0500
#include <windows.h>

ciao...
BruNews, MVP VC++
Commenter la réponse de BruNews
Messages postés
6539
Date d'inscription
lundi 16 décembre 2002
Dernière intervention
22 août 2010
- 22 juin 2005 à 21:44
0
Merci
DevC++ ne comprend peut être (surement) pas ce pragma, ajoute plutot -lcomctl32 au options du linker
Commenter la réponse de vecchio56
Messages postés
302
Date d'inscription
lundi 11 avril 2005
Dernière intervention
22 avril 2006
- 23 juin 2005 à 11:18
0
Merci
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++
Commenter la réponse de banane_rose

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.