ListView

Résolu
deck_bsd Messages postés 1243 Date d'inscription jeudi 31 mars 2005 Statut Membre Dernière intervention 3 août 2016 - 5 juin 2006 à 15:25
Taron31 Messages postés 199 Date d'inscription vendredi 16 avril 2004 Statut Membre Dernière intervention 28 février 2008 - 5 juin 2006 à 21:33
Bonjour a tous,


Voila je tente de créer une listview mais celle-ci ne s'affiche pas la
fonction createwindow me renvoie tjrs un HWND NULL. Voici mon appel :


hwLV = CreateWindow(WC_LISTVIEW,0,WS_CHILD | WS_VISIBLE | LVS_LIST,10,30,100,200,hwnd,NULL,GlobalHInstance,NULL);


Quelqu'un peut m'aider à y voir claire?


Merci d'avance.

17 réponses

vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
5 juin 2006 à 15:42
As-tu appelé InitCommonControls() avant?
3
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
5 juin 2006 à 16:14
Un simple InitCommonControls suffirait

Pour le Ex, il faut aujouter ceci:
#define _WIN32_IE 0x0300 (ou plus si tu veux, pour IE 6, c'est 0x0600)
3
deck_bsd Messages postés 1243 Date d'inscription jeudi 31 mars 2005 Statut Membre Dernière intervention 3 août 2016 2
5 juin 2006 à 15:47
ha nop tien . Juste , je m'en rapllai pas . Effectivement j'avai du le
faire aussi pour la progress bar. Merci du rappel vecchio.
0
deck_bsd Messages postés 1243 Date d'inscription jeudi 31 mars 2005 Statut Membre Dernière intervention 3 août 2016 2
5 juin 2006 à 16:09
Mais voila il me dit que INITCOMMONCONTROLSEX est inexistant, hors j'ai bien inclu commctrl.h et la lib :s.


Je suis sous dev-cpp.
0

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

Posez votre question
deck_bsd Messages postés 1243 Date d'inscription jeudi 31 mars 2005 Statut Membre Dernière intervention 3 août 2016 2
5 juin 2006 à 16:20
Hey merci vecchio ca fonctionne simplement avec InitCommonControles, tu
est un chef  ;) par contre je comprend pas bien pourquoi faire un
#define _WIN32_IE 0x0300 . Cela fait quoi? pour vérifer si on a la
bonne version un ifdef ne suffirait pas? je comprend pas bien.
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
5 juin 2006 à 16:24
regarde dans ton commctrl.h, la déclaration de INITCOMMONCONTROLSEX est précédée d'un #if (_WIN32_IE >= 0x0300)
0
deck_bsd Messages postés 1243 Date d'inscription jeudi 31 mars 2005 Statut Membre Dernière intervention 3 août 2016 2
5 juin 2006 à 16:33
Bon bon, soite je suis un vrai c.. ou ya un truc qui va pas, ma list
s'affiche, enfin c'est un bien grand mot, disaont que j'ai un carré
blanc, j'ai pourtant fait comme tu fait dans ton prog LV pour ajouter
des colone mais elles s'affiche pas.
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
5 juin 2006 à 16:53
Tu gères le LVN_GETDISPINFO?
0
deck_bsd Messages postés 1243 Date d'inscription jeudi 31 mars 2005 Statut Membre Dernière intervention 3 août 2016 2
5 juin 2006 à 17:01
MErci mais j'ai trouvé, lol maintenant autre problème je veu ajouter un
item mais je n'y parvient pas. Si j'ai bien compris on doit crée une
structure avec les différents élément à insérer dans chaque colone .
Dans mon cas du text dans la 1er et un int dans l'autre. j'ai donc :


typedef struct colone{

    char szNom[10+1];

    int iI;

}COL;


et c'est la que je m'embrouille. j'ai bien compris qu'il faut passer la
structure a l'élément lParam de la struct LV_ITEM crée et puis faire
appel a ListView_InsertItem(). j'ai bien mis le mask aussi mais cela ne
va quand mm pas.
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
5 juin 2006 à 17:08
Ah ben la je peux pas te dire comme ca.
Il faut aussi spécifier iItem et iSubItem
0
deck_bsd Messages postés 1243 Date d'inscription jeudi 31 mars 2005 Statut Membre Dernière intervention 3 août 2016 2
5 juin 2006 à 17:11
Item : Specifies the zero-based index. En claire lol ca sert a quoi et SubItem aussi ca sert a quoi?
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
5 juin 2006 à 17:18
L'index ou insérer l'item tiens. Tu n'a qu'a mettre les deux à zéro
0
racpp Messages postés 1909 Date d'inscription vendredi 18 juin 2004 Statut Modérateur Dernière intervention 14 novembre 2014 17
5 juin 2006 à 17:22
Salut,
Item indique l'item (l'élément)
SubItem indique l'index de la colonne contenue dans l'item.
0
deck_bsd Messages postés 1243 Date d'inscription jeudi 31 mars 2005 Statut Membre Dernière intervention 3 août 2016 2
5 juin 2006 à 17:28
voila comment je fait :


typedef struct colone{

        char sz[10];

        int iI;

}COL;


/* déclaration de la variable */

COL * ptCol;


/* Insère ligne. */

    lviItem.mask = LVIF_TEXT | LVIF_PARAM;

    strcpy(ptCol->sz,"julien");

    ptCol->iI = 10;

                               


    lviItem.iItem = 0;

    lviItem.iSubItem = 0;

    lviItem.lParam = (LPARAM)ptCol;

                               


    ListView_InsertItem(hwLV,&lviItem);
0
deck_bsd Messages postés 1243 Date d'inscription jeudi 31 mars 2005 Statut Membre Dernière intervention 3 août 2016 2
5 juin 2006 à 17:29
mais cava pas ... et ce même si je prend en compte lpzText
0
Taron31 Messages postés 199 Date d'inscription vendredi 16 avril 2004 Statut Membre Dernière intervention 28 février 2008
5 juin 2006 à 21:31
Pourquoi tu utilises pas pszText pour afficher ta structure ? Normalement ça doit fonctionner sans problème...

___________________
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
5 juin 2006 à 21:33
Pour moi ça, ça marche :

ZeroMemory(&LvItem, sizeof(LV_ITEM));
        LvItem.iItem = 0;
        LvItem.iSubItem = 0;
        LvItem.pszText = (char *)szBuffer;
        LvItem.cchTextMax = sizeof(szBuffer);
        LvItem.mask = LVIF_TEXT | LVIF_PARAM;

        ListView_InsertItem(hListView, &LvItem);

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