ListView - API Windows [Résolu]

banane_rose 302 Messages postés lundi 11 avril 2005Date d'inscription 22 avril 2006 Dernière intervention - 21 juin 2005 à 10:31 - Dernière réponse : vecchio56 6539 Messages postés lundi 16 décembre 2002Date d'inscription 22 août 2010 Dernière intervention
- 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
cs_AlexMAN 1537 Messages postés samedi 21 décembre 2002Date d'inscription 24 mai 2009 Dernière intervention - 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é 83 internautes ce mois-ci

Commenter la réponse de cs_AlexMAN
Meilleure réponse
BruNews 21054 Messages postés jeudi 23 janvier 2003Date d'inscription 7 novembre 2014 Dernière intervention - 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é 83 internautes ce mois-ci

Commenter la réponse de BruNews
Meilleure réponse
vecchio56 6539 Messages postés lundi 16 décembre 2002Date d'inscription 22 août 2010 Dernière intervention - 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é 83 internautes ce mois-ci

Commenter la réponse de vecchio56
Meilleure réponse
BruNews 21054 Messages postés jeudi 23 janvier 2003Date d'inscription 7 novembre 2014 Dernière intervention - 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é 83 internautes ce mois-ci

Commenter la réponse de BruNews
Meilleure réponse
banane_rose 302 Messages postés lundi 11 avril 2005Date d'inscription 22 avril 2006 Dernière intervention - 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é 83 internautes ce mois-ci

Commenter la réponse de banane_rose
Meilleure réponse
vecchio56 6539 Messages postés lundi 16 décembre 2002Date d'inscription 22 août 2010 Dernière intervention - 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é 83 internautes ce mois-ci

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

ciao...
BruNews, MVP VC++
Commenter la réponse de BruNews
banane_rose 302 Messages postés lundi 11 avril 2005Date d'inscription 22 avril 2006 Dernière intervention - 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
banane_rose 302 Messages postés lundi 11 avril 2005Date d'inscription 22 avril 2006 Dernière intervention - 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
cs_Arnotic 936 Messages postés dimanche 1 avril 2001Date d'inscription 9 janvier 2012 Dernière intervention - 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
cs_AlexMAN 1537 Messages postés samedi 21 décembre 2002Date d'inscription 24 mai 2009 Dernière intervention - 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
banane_rose 302 Messages postés lundi 11 avril 2005Date d'inscription 22 avril 2006 Dernière intervention - 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
vecchio56 6539 Messages postés lundi 16 décembre 2002Date d'inscription 22 août 2010 Dernière intervention - 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
banane_rose 302 Messages postés lundi 11 avril 2005Date d'inscription 22 avril 2006 Dernière intervention - 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
banane_rose 302 Messages postés lundi 11 avril 2005Date d'inscription 22 avril 2006 Dernière intervention - 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
banane_rose 302 Messages postés lundi 11 avril 2005Date d'inscription 22 avril 2006 Dernière intervention - 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
BruNews 21054 Messages postés jeudi 23 janvier 2003Date d'inscription 7 novembre 2014 Dernière intervention - 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
vecchio56 6539 Messages postés lundi 16 décembre 2002Date d'inscription 22 août 2010 Dernière intervention - 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
banane_rose 302 Messages postés lundi 11 avril 2005Date d'inscription 22 avril 2006 Dernière intervention - 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.

ListView - API Windows - page 2