PB Affichage ListView

Taron31 Messages postés 199 Date d'inscription vendredi 16 avril 2004 Statut Membre Dernière intervention 28 février 2008 - 25 mars 2006 à 18:23
Taron31 Messages postés 199 Date d'inscription vendredi 16 avril 2004 Statut Membre Dernière intervention 28 février 2008 - 26 mars 2006 à 22:50
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

julienbj Messages postés 452 Date d'inscription jeudi 4 décembre 2003 Statut Membre Dernière intervention 19 décembre 2008 15
25 mars 2006 à 19:45
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
0
Taron31 Messages postés 199 Date d'inscription vendredi 16 avril 2004 Statut Membre Dernière intervention 28 février 2008
25 mars 2006 à 20:47
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)
0
Zootella Messages postés 252 Date d'inscription vendredi 10 juin 2005 Statut Membre Dernière intervention 5 septembre 2006
25 mars 2006 à 22:53
Elle est là mais avec une largeur et une haureur de 0, donc invisible.
Utilise la fonction MoveWindow pour changer sa taille.
0
Taron31 Messages postés 199 Date d'inscription vendredi 16 avril 2004 Statut Membre Dernière intervention 28 février 2008
25 mars 2006 à 23:41
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)
0

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

Posez votre question
Zootella Messages postés 252 Date d'inscription vendredi 10 juin 2005 Statut Membre Dernière intervention 5 septembre 2006
26 mars 2006 à 00:12
0
Taron31 Messages postés 199 Date d'inscription vendredi 16 avril 2004 Statut Membre Dernière intervention 28 février 2008
26 mars 2006 à 22:45
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)
0
Taron31 Messages postés 199 Date d'inscription vendredi 16 avril 2004 Statut Membre Dernière intervention 28 février 2008
26 mars 2006 à 22:50
Oups nan rien ...
Désolé ça venait de mon code, sorry !

___________________
MVS - Most Valuable Student ( Microsoft)
0
Rejoignez-nous