Bonjour,

un petit souci sur ma première treeview j'ai beau chercher et regarder je vois pas ce qu'il manque elle ne veux vraiment pas s'afficher aidez moi 2 jours que je planche là dessus.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
#include <windows.h>
#include <commctrl.h>
//declaration des fonctions:
LRESULT CALLBACK procedureFenetrePrincipale(HWND, UINT, WPARAM, LPARAM);
void CreationTreeview();
//handle fenetre
HINSTANCE instance;
//handle de l'image liste:
HIMAGELIST himageliste;
//handle de la treeview:
HWND htreeview;
//handle de la libreairie
HINSTANCE hlibrairie;
//handle des icones:
HICON hicone;
//testouille
//structure;
TV_INSERTSTRUCT tvii;
HTREEITEM hitem;
 
//fonctions:
void CreationTreeview(HWND fenetrePrincipale)
{
 //initialisation de la librairie:
 InitCommonControls();
 //creation de l'image liste:
 himageliste=ImageList_Create(GetSystemMetrics(SM_CXSMICON),GetSystemMetrics(SM_CYSMICON),ILC_COLOR32,4,4);
 ImageList_SetBkColor(himageliste, GetSysColor(COLOR_WINDOW));
 //Creation de la treeview:
 htreeview=CreateWindow(WC_TREEVIEW,"",WS_CHILD|WS_VISIBLE|TVS_HASBUTTONS|TVS_SHOWSELALWAYS|TVS_HASLINES|TVS_LINESATROOT,0,0,0,0,fenetrePrincipale,NULL,instance,NULL);
 //chargement de la librairie shell32:
 hlibrairie=LoadLibrary("shell32.dll");
 //chargement des images
 //variable:
 int a;
 for(a=0;a<=12;a++)
 {
  hicone=LoadIcon(hlibrairie,MAKEINTRESOURCE(a));
  ImageList_AddIcon(himageliste,hicone);
 }
 //liberation de la mémoire:
 FreeLibrary(hlibrairie);
 //verification:
 if(htreeview=NULL)
 {
  MessageBox(NULL, "erreur: creation treeview", NULL, MB_ICONWARNING);
 }
 if(himageliste=NULL)
 {
  MessageBox(NULL, "erreur: chargement des images", NULL, MB_ICONWARNING);
 }
 //recuperation des images pour l'arborescence:
 TreeView_SetImageList(htreeview,himageliste,TVSIL_NORMAL);
 //
            tvii.hInsertAfter = TVI_LAST;
            ZeroMemory(&(tvii.item), sizeof(TV_ITEM));
            tvii.item.mask  = TVIF_TEXT | TVIF_IMAGE  |TVIF_SELECTEDIMAGE | TVIF_PARAM ;
 
            tvii.hParent = TVI_ROOT;
            tvii.item.iImage = 0;
            tvii.item.iSelectedImage = 1;
            tvii.item.pszText = "TEST TREEVIEW";
            hitem = TreeView_InsertItem(htreeview, &tvii);
}
 
int WinMain (HINSTANCE cetteInstance, HINSTANCE precedenteInstance,
LPSTR lignesDeCommande, int modeDAffichage)
{
    HWND fenetrePrincipale;
    MSG message;
    WNDCLASS classeFenetre;
    instance=cetteInstance;
 
    classeFenetre.style = 0;
    classeFenetre.lpfnWndProc = procedureFenetrePrincipale;
    classeFenetre.cbClsExtra = 0;
    classeFenetre.cbWndExtra = 0;
    classeFenetre.hInstance = NULL;
    classeFenetre.hIcon = LoadIcon(NULL, IDI_APPLICATION);
    classeFenetre.hCursor = LoadCursor(NULL, IDC_ARROW);
    classeFenetre.hbrBackground = (HBRUSH)(1 + COLOR_BTNFACE);
    classeFenetre.lpszMenuName =  NULL;
    classeFenetre.lpszClassName = "classeF";
 
    // On prévoit quand même le cas où ça échoue
    if(!RegisterClass(&classeFenetre)) return FALSE;
 
    fenetrePrincipale = CreateWindow("classeF", "Ma première fenêtre winAPI !", WS_OVERLAPPEDWINDOW,
                                   CW_USEDEFAULT, CW_USEDEFAULT, 400, 300,
                                                   NULL, NULL, cetteInstance, NULL);
    if (!fenetrePrincipale) return FALSE;
 
    ShowWindow(fenetrePrincipale, modeDAffichage);
    UpdateWindow(fenetrePrincipale);
 
 
    while (GetMessage(&message, NULL, 0, 0))
    {
        TranslateMessage(&message);
        DispatchMessage(&message);
    }
    return message.wParam;
}
 
LRESULT CALLBACK procedureFenetrePrincipale(HWND fenetrePrincipale, UINT message, WPARAM wParam, LPARAM lParam)
{
    switch (message)
    {
        case WM_CREATE:
        CreationTreeview(fenetrePrincipale);
            return 0;
 
        case WM_DESTROY:
            PostQuitMessage(0);
            return 0;
 
        default:
            return DefWindowProc(fenetrePrincipale, message, wParam, lParam);
    }
}