ListView qui ne s'affiche pas [Résolu]

Signaler
Messages postés
415
Date d'inscription
samedi 4 janvier 2003
Statut
Membre
Dernière intervention
2 décembre 2005
-
Messages postés
415
Date d'inscription
samedi 4 janvier 2003
Statut
Membre
Dernière intervention
2 décembre 2005
-
Coucou, alors le problème est simple. Je créer un ListView avec 2 colonnes donc voici le code :

http://www.nomorepasting.com/paste.php?pasteID=44284Le problème c'est que le listview affiché n'est pas un listview
mais juste un rectangle dont la souris peut y dessiné un rectangle de
sélection.

Le CyberMonde nous offre une meilleur qualité de vie

4 réponses

Messages postés
415
Date d'inscription
samedi 4 janvier 2003
Statut
Membre
Dernière intervention
2 décembre 2005
1
En fait c'est bon, il fallais juste mettre le style LVS_REPORT. Mais merci à toi !

Le CyberMonde nous offre une meilleur qualité de vie
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
20
Pourquoi ne prends-tu pas un exemple parmi les sources cppfrance, au moins tu peux voir illico si c'est fonctionnant.
En voila un:
http://www.cppfrance.com/code.aspx?id=11151
et il y en a des tas d'autres ici.

ciao...
BruNews, MVP VC++
Messages postés
908
Date d'inscription
jeudi 26 juillet 2001
Statut
Modérateur
Dernière intervention
1 février 2015
2
ne t'avise plus de revenir sur le chan de #programmation avec un fake nick stp, tu assumes tes questions et tes comportements, ça me parait plus mature que de venir avec un alias tout le temps différent.
Messages postés
11
Date d'inscription
mercredi 13 juillet 2005
Statut
Membre
Dernière intervention
27 juillet 2005

Salut,

A mon avis 2 problèmes :

1) Il manque l'ID du contrôle :

hMenu


<DD>[in] Handle to a menu, or specifies a child-window identifier, depending on the window style. For an overlapped or pop-up window, hMenu identifies the menu to be used with the window; it can be NULL if the class menu is to be used. For a child window, hMenu specifies the child-window identifier, an integer value used by a dialog box control to notify its parent about events. The application determines the child-window identifier; it must be unique for all child windows with the same parent window. </DD>
Voici un exemple de listview que j'ai créé :

hwndListe = CreateWindowEx (WS_EX_CLIENTEDGE, "SysListView32", "",
WS_BORDER | WS_CHILD | WS_VISIBLE | LVS_REPORT | LVS_SINGLESEL | LVS_SORTASCENDING,
0, 0, 100, 100, hwnd, (HMENU)101, (HINSTANCE) GetWindowLong(hwnd, GWL_HINSTANCE), 0);


2) Il manque l'indice de la colonne (ou sub_item)

LV_COLUMN lvColumn;
lvColumn.mask = LVCF_FMT | LVCF_TEXT | LVCF_WIDTH | LVCF_SUBITEM ;
lvColumn.fmt = LVCFMT_LEFT;
lvColumn.cx = 80;
lvColumn.pszText = "IP";
lvColumn.iSubItem = 0 ;
if( ListView_InsertColumn(hListView,0,(LPARAM)&lvColumn) == -1 )
MessageBox(hWnd,"Erreur lors de la création de la première colonne","Erreur !",MB_OK);
lvColumn.cx = 10;
lvColumn.pszText = "Port";
lvColumn.iSubItem = 1 ;
if( ListView_InsertColumn(hListView,1,(LPARAM)&lvColumn) == -1 )
MessageBox(hWnd,"Erreur lors de la création de la deuxième colonne","Erreur !",MB_OK);


<HR>

NB : tu peux te passer de memset (inutile !)
memset(Buffer,0,sizeof(Buffer));
sprintf(Buffer,"Erreur lors de la création du contrôle ListView : %i",GetLastError());

<HR>

A confirmer tout ça, bonne chance