Probleme de toolbar [win32 dev-cpp]

Signaler
Messages postés
165
Date d'inscription
samedi 4 juin 2005
Statut
Membre
Dernière intervention
24 octobre 2007
-
julien_boss
Messages postés
165
Date d'inscription
samedi 4 juin 2005
Statut
Membre
Dernière intervention
24 octobre 2007
-
Bonjour,
c'est pas la premiere fois que j'inclus une toolbar dans une source mais là, byzarrement, elle ne s'affiche pas, et aucun des messages d'erreur que j'ai créé ne s'affiche. Voici le code :

             TBADDBITMAP tbab;
             TBBUTTON tbb[2];
            
             HWND hToolBar = CreateWindowEx(0, TOOLBARCLASSNAME, NULL,
                             WS_CHILD | WS_VISIBLE|TBSTYLE_TOOLTIPS, 0, 0, 0, 0,                  
                             hwnd, (HMENU)ID_DRAWTOOLBAR, g_hTInst, NULL);               
             if(!hToolBar)
                 SendMessage(hwnd, WM_DESTROY, 0, 0);
   
             SendMessage(hToolBar, TB_BUTTONSTRUCTSIZE, (WPARAM)sizeof(TBBUTTON), 0);
   
             tbab.hInst = HINST_COMMCTRL;
             tbab.nID = IDB_STD_SMALL_COLOR;         
             SendMessage(hToolBar, TB_ADDBITMAP, 0, (LPARAM)&tbab);
   
             ZeroMemory(tbb, sizeof(tbb));
            
             tbb[0].iBitmap = STD_FILENEW;
             tbb[0].fsState = TBSTATE_ENABLED;     
             tbb[0].fsStyle = TBSTYLE_BUTTON;      
             tbb[0].idCommand = IDC_DRAW_COPY;      
            
             tbb[1].fsStyle = TBSTYLE_SEP;
           
             SendMessage(hToolBar, TB_ADDBUTTONS, 2, (LPARAM)&tbb);
            
             if(!hToolBar)
             {
                 // Erreur, on quitte l'application
                 MessageBox(hwnd,"Création de la barre d'icônes\n""L'application va se terminer.","Erreur",MB_OK | MB_ICONERROR);
                 SendMessage(hwnd, WM_DESTROY, 0, 0);                  
             }
            
Je l'ai placé dans le message WM_CREATE d'une fenetre fille de la fenetre principale de mon application. J'ai bien appelé la fonction InitCommonControls() et inclue la librairie comctl32 et le header <commctrl.h>. Pas d'erreur de compilation ni d'exécution.

Sauriez vous d'où viens mon malheur ?
Merci ^^

2 réponses

Messages postés
240
Date d'inscription
jeudi 9 janvier 2003
Statut
Membre
Dernière intervention
22 mars 2009

plusieurs possibilités:

dans le fichier h au debut:

#define _WIN32_WINNT 0x0500

sinon lors de l'ajout du bouton , ton icon peut être non valide.

:)
Messages postés
165
Date d'inscription
samedi 4 juin 2005
Statut
Membre
Dernière intervention
24 octobre 2007

Rien à faire, la toolbar ne s'affiche pas ... il faut rajouter à la fenetre le style WS_OVERLAPPEDWINDOW (du moins j'ai trouvé que ca qui marche), mais comme je ne veux pas que ma fenetre fille soit une fenetre flottante, tant pis je vais mettre la toolbar sur la fenetre principale de mon prog :/
Merci quand même