Probleme de toolbar [win32 dev-cpp]

julien_boss Messages postés 165 Date d'inscription samedi 4 juin 2005 Statut Membre Dernière intervention 24 octobre 2007 - 8 juin 2007 à 14:57
julien_boss Messages postés 165 Date d'inscription samedi 4 juin 2005 Statut Membre Dernière intervention 24 octobre 2007 - 9 juin 2007 à 12:38
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

cs_omnia Messages postés 240 Date d'inscription jeudi 9 janvier 2003 Statut Membre Dernière intervention 22 mars 2009
9 juin 2007 à 10:16
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.

:)
0
julien_boss Messages postés 165 Date d'inscription samedi 4 juin 2005 Statut Membre Dernière intervention 24 octobre 2007
9 juin 2007 à 12:38
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
0