Harkonnen Modérateur Un modo pour les bannir tous | Bon, j'ai vu d'ou venait ton problème, ou plutot TES problèmes...
Allons y :
- Déjà, tu remplis le ListView dans le constructeur de la classe ! Ce n'est pas du tout ce qu'il faut faire. La fonction OnInitialUpdate est faite pour ça. Elle est appelée avant le dessin de la fenêtre, et tu dois donc y placer toutes les initialisations de ta vue. Le problème, c'est que tu n'en a pas. Moi je pense que tu as du créer un projet, dérivé de CView et que tu as rajouté le "public CListView" toi même dans le .h. Malheureusement, la classe de base appelée dans PreCreateWindow était encore CView. Tu aurais pu attendre longtemps l'affichage de ton item. Il ne faut pas faire comme ça : dans la dernière étape de création du projet MFC, tu as la possibilité de choisir la classe de base. C'est ici qu'il faut indiquer CListView, ça te crééra le nécessaire, dont la fonction OnInitialUpdate, dans laquelle tu pourras remplir ton constructeur.
- Ensuite, comme disait El_Gringo, tu ne sais pas utiliser InsertItem. En effet, il faut lui passer une structure LV_ITEM en paramètre, que tu rempliras selon tes souhaits. Cf MSDN pour plus d'infos sur cette structure.
- Enfin, le message d'erreur que tu obtiens est du au fait que InsertItem n'est pas une fonction membre de CListView, mais de CListCtrl. CListCtrl est la classe encapsulant le controle ListView. Tu dois donc récupérer la CListCtrl associée à ta CListView via la fonction membre GetListCtrl(), qui te renvoie une référence au CListView associé.
Ce que je te conseille : recréé un projet en indiquant correctement CListView comme classe de base dans la dernière étape de l'assistant de création de projet MFC. Place ensuite dans la fonction OnInitialUpdate() le code suivant :
Code :
- CListCtrl& ListCtrl = GetListCtrl();
- LV_ITEM lvi;
- lvi.mask = LVIF_TEXT;
- lvi.iItem = 0;
- lvi.iSubItem = 0;
- lvi.pszText = _T("test" );
- ListCtrl.InsertItem(&lvi);
|
Ca fonctionnera correctement.
Dernier conseil : apprends quand même à lire les docs.
Message édité par Harkonnen le 26-02-2003 à 21:07:35 ---------------
J'ai un string dans l'array (Paris Hilton)
|