IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MFC Discussion :

Insérer des BITMAP de 24bit dans une toolbar ?


Sujet :

MFC

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 227
    Points : 121
    Points
    121
    Par défaut Insérer des BITMAP de 24bit dans une toolbar ?
    Salut,

    J'ai réalisé une toolbar, j'ai créé une BITMAP pour les icônes de cette toolbar, mais lorsque cette BITMAP est en 24bit les icônes apparaisent toutes noires dans la toolbar alors que quant j'enregistre l'image en 256couleurs aucun problème, mais la qualité des icône ne me satifait pas.

    voila comment je procède :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    //fichier "ressources.rc"
    1 BITMAP res\\img.bmp
    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
    //fichier "main.cpp"
    htb = CreateWindowEx(0, TOOLBARCLASSNAME, NULL, WS_CHILD | WS_VISIBLE | TBSTYLE_FLAT , 0, 0, 0, 0, hwnd, NULL, hinst, NULL);
     
       tbab.hInst =  hinst ;
       tbab.nID   =  1;  //idenficateur de la BITMAP
       SendMessage(htb, TB_SETBITMAPSIZE,0, MAKELONG(32,32)); 
       SendMessage(htb, TB_ADDBITMAP, 3, (WPARAM)&tbab);
     
       tbb[0].iBitmap = 4;   //numero de l'icône dans la BTIMAP
       tbb[0].idCommand = 2;
       tbb[0].fsState = TBSTATE_ENABLED;
       tbb[0].fsStyle = TBSTYLE_BUTTON;
       tbb[0].dwData = 0;
       tbb[0].iString = SendMessage(htb, TB_ADDSTRING, 0, (LPARAM)"Paramètres");
        //creation de 4  autres boutons
     
       SendMessage(htb, TB_BUTTONSTRUCTSIZE, sizeof(TBBUTTON), 0);
       SendMessage(htb, TB_ADDBUTTONS, 5, (LPARAM)&tbb);   //ajoute les boutons a la toolbar
       SendMessage(htb, TB_AUTOSIZE, 0, 0);
    Merci de m'aider

  2. #2
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    les toolbars ne supportent pas plus de 256 couleurs ...

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 227
    Points : 121
    Points
    121
    Par défaut
    Mais pourtant les icônes qu'il y a dans la toolbar d'internet explorer ils ont plus de 256 couleurs, il doit donc y avoir un moyen pour mettre des icônes en 24bit....

    EDIT: en plus dans les bibliotèque standard de windows on a aussi des icônes en plus de 256 couleurs
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    //par exemple ici les icônes sont en plus de 256 couleurs
    tbab.hInst =  HINST_COMMCTRL ;
    tbab.nID   =  IDB_VIEW_SMALL_COLOR;

  4. #4
    mat.M
    Invité(e)
    Par défaut
    Ne jamais manipuler des bitmaps >256 couleurs avec l'éditeur de ressources de VC.
    Les faire avec Paint Shop Pro ou autre mais jamais avec l'éditeur de ressources sauf des bmp <256 c ou icones.
    L'éditeur a peut-être tout simplement "mangé" les bitmaps et forcé en 256c.
    Maintenant Farscape a raison on ne peut peut-être pas afficher des bmp sur une toolbar de plus de 256c parce que cela n'est pas supporté.

    Mef : si l'utilisateur réinstalle l'OS et que la config de Windows est en 256c ( voire 16c ! ) la toolbar risque de ne pas être affichée si les bitmaps sont de 24 bits

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 227
    Points : 121
    Points
    121
    Par défaut
    Mais comment expliquer qu'avec cette méthode on obtiend des icônes de plus de 256 couleurs ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    tbab.hInst =  HINST_COMMCTRL ;
    tbab.nID   =  IDB_VIEW_SMALL_COLOR;//avec ça on a des icône de plus de 256 couleurs

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 227
    Points : 121
    Points
    121
    Par défaut
    En fait il n'y a pas plus de 256couleurs dans les images, c'est juste que la pallette utilisée n'est pas la pallette standart, c'est une palette personnalisé, ainsi cela permet d'éliminer les couleurs dont on a pas beoin pour les remplacer par des couleurs qui nous sont plus utile.

Discussions similaires

  1. Insérer des données de Jtable dans une table
    Par mimati dans le forum Général Java
    Réponses: 0
    Dernier message: 15/11/2013, 18h18
  2. Insérer des composants graphiques dynamiques dans une JSP
    Par wafabrj dans le forum Servlets/JSP
    Réponses: 14
    Dernier message: 22/05/2012, 11h31
  3. Afficher des bitmaps à haute vitesse dans une application fenêtrée
    Par acanicio dans le forum Développement 2D, 3D et Jeux
    Réponses: 9
    Dernier message: 27/10/2006, 22h35
  4. Afficher des bitmaps à haute vitesse dans une application
    Par acanicio dans le forum API graphiques
    Réponses: 1
    Dernier message: 27/10/2006, 10h03
  5. [Debutant] Mettre des images dans une Toolbar
    Par Beleim dans le forum Windows
    Réponses: 11
    Dernier message: 02/03/2006, 23h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo