PB Affichage ListView

Signaler
Messages postés
199
Date d'inscription
vendredi 16 avril 2004
Statut
Membre
Dernière intervention
28 février 2008
-
Messages postés
199
Date d'inscription
vendredi 16 avril 2004
Statut
Membre
Dernière intervention
28 février 2008
-
Bonjour, j'ai besoin dans mon programme d'une ListView, problème j'ai cherché pas mal de sources sur ce site et j'en ai essayé et ça n'a pas l'air de fonctionner correctement, voici un code :

Dans WM_CREATE :

hListView = CreateWindow(WC_LISTVIEW, 0, LVS_REPORT | WS_VISIBLE | WS_CHILD,
CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, hWnd, 0, hInstance, 0);
ListView_SetExtendedListViewStyleEx(hListView, 0, LVS_EX_FULLROWSELECT | LVS_EX_HEADERDRAGDROP);

lvc.mask = LVCF_TEXT | LVCF_WIDTH;
lvc.cx = 200;

lvc.pszText = "First";
ListView_InsertColumn(hListView, 0, &lvc);

lvc.pszText = "Second";
ListView_InsertColumn(hListView, 0, &lvc);

lvc.pszText = "Third";
ListView_InsertColumn(hListView, 0, &lvc);

Et j'initialise dans WinMain :

INITCOMMONCONTROLSEX InitCc;

InitCc.dwSize = sizeof(INITCOMMONCONTROLSEX);
InitCc.dwICC = ICC_LISTVIEW_CLASSES;
InitCommonControlsEx(&InitCc);

Voilà, et je ne comprends aps pourquoi ça ne fonctionne pas, j'ai sûrement dû oublier quelque chose mais je ne vois pas quoi vu que j'ai pris en compte plusieurs sources, auriez-vous une idée ? Merci beaucoup.

___________________
MVS - Most Valuable Student ( Microsoft)

7 réponses

Messages postés
452
Date d'inscription
jeudi 4 décembre 2003
Statut
Membre
Dernière intervention
19 décembre 2008
12
Qu'est qui ne fonctionne pas?
As-tu bien pensé à chargé la librairie comctl32?

sous visual: #pragma comment(lib, "comctl32.lib")


Vive le C
Tchao

Savon
Messages postés
199
Date d'inscription
vendredi 16 avril 2004
Statut
Membre
Dernière intervention
28 février 2008

Oui, j'ai bien placé le #pragma comment(lib, "comctl32.lib")...
Ca compile bien mais lors de l'éxécution j'ai pas de listview dans ma fenêtre...

___________________
MVS - Most Valuable Student ( Microsoft)
Messages postés
252
Date d'inscription
vendredi 10 juin 2005
Statut
Membre
Dernière intervention
5 septembre 2006
1
Elle est là mais avec une largeur et une haureur de 0, donc invisible.
Utilise la fonction MoveWindow pour changer sa taille.
Messages postés
199
Date d'inscription
vendredi 16 avril 2004
Statut
Membre
Dernière intervention
28 février 2008

Merci beaucoup, c'était ça :-)
Une autre question : comment puis-je redimensionner les colonnes en même temps que le hListView ?

___________________
MVS - Most Valuable Student ( Microsoft)
Messages postés
252
Date d'inscription
vendredi 10 juin 2005
Statut
Membre
Dernière intervention
5 septembre 2006
1
Messages postés
199
Date d'inscription
vendredi 16 avril 2004
Statut
Membre
Dernière intervention
28 février 2008

Merci pour vos réponses.

Maintenant je suis confronté à un autre petit problème : dans mon programme j'ai une ListView composée de 6 colonnes. J'arrive à ajouter des Items, des SubItems. Mais pour les SubItems, je ne peux peux pas en mettre plus de 3 par lignes ! C'est-à-dire que j'utilise déjà la fonction ListView_InsetItem pour insérer le premier item sur une ligne puis ensuite je rajoute les autres SubItems avec la fonction ListView_SetItemText, cette méthode là fonctionne bien jusqu'a 3 SubItems au total (en incluant le l'Item) car en effet lorsque j'essaye d'en rajouter un il écrase le précédent, voici mon code :

LvItem.iItem = 0;
LvItem.iSubItem = 0;
LvItem.pszText = (char *)pData->szProgName;
LvItem.cchTextMax = strlen(pData->szProgName);
LvItem.mask = LVIF_TEXT | LVIF_PARAM;

ListView_InsertItem(hListView, &LvItem);

ListView_SetItemText(hListView, 0, 1, pszAccess_Type[pData->dwAccessType]);
ListView_SetItemText(hListView, 0, 2, pData->szKeyName);
ListView_SetItemText(hListView, 0, 3, pData->szTime); // Ecrase le précédent

N'y aurait-il pas un flag ou une valeur à ajouter afin de pouvoir insérer plus de 3 SubItems dans ma ListView ?

Merci

___________________
MVS - Most Valuable Student ( Microsoft)
Messages postés
199
Date d'inscription
vendredi 16 avril 2004
Statut
Membre
Dernière intervention
28 février 2008

Oups nan rien ...
Désolé ça venait de mon code, sorry !

___________________
MVS - Most Valuable Student ( Microsoft)