begin process at 2012 02 12 19:05:29
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Control

 > ASTUCE IMAGELIST COMCTL32.OCX

ASTUCE IMAGELIST COMCTL32.OCX


 Information sur la source

Note :
3 / 10 - par 1 personne
3,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Control Classé sous :imagelist, comctl32, stylexp, control Niveau :Débutant Date de création :13/11/2005 Date de mise à jour :13/11/2005 15:23:02 Vu / téléchargé :14 540 / 1 463

Auteur : Danyz

Ecrire un message privé
Site perso
Commentaire sur cette source (2)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
J'utilise dans certains de mes programmes le composant COMCTL32.OCX ( Microsoft Windows Common Controls 5.0 (SP2) ), car les controles fournis avec adoptent les style XP (si l'appli tourne avec un fichier manifest, etc...). Cepandant il y a un problème avec le controle ImageList fournit dans ce composant, en stockant des icones dedans, les icones sont " corrompues " (voir capture) dés la 2ème execution...
La seule solution etait de vider l'ImageList et de recharger les icones avant chaque nouvelle compilation >> super chiant !!
le probleme n'existe pas avec le control ImageList du composant MSCOMCTL.OCX ( Microsoft Windows Common Controls 6.0 (SP6) ) , mais les controles de COMCTL32.OCX ne peuvent pas etre associés avec le controle ImageList de MSCOMCTL.OCX (Sinon c'est pas drole :P)
En fait la solution est de mettre ses icones dans un controle ImageList de MSCOMCTL.OCX et de charger les icones dans le controle ImageList de COMCTL32.OCX depuis le code dans l'evenement load de la feuille ;)

C'est pas trés clair mais je sais pas comment expliqué ca... La capture vous aiderat à comprendre...

J'ai cherché longtemps à résoudre ce probleme en vain et je n'ai rien trouvé sur forum ou dans les sources... Si une source similaire a deja été déposé ici , désolé !!

Source

  • Dim i As Integer
  • ' On remplit le controle ImageList de COMCTL32.OCX
  • ' avec le controle ImagList de MSCOMCTL.OCX
  • For i = 1 To ImageListMSCOMCTL.ListImages.Count
  • ImageListCOMCTL32(1).ListImages.Add , , ImageListMSCOMCTL.ListImages(i).Picture
  • Next
  • For i = 0 To 1 ' Boucle pour ajouter les boutons dans les 2 toolbars
  • ToolbarCOMCTL32(i).ImageList = ImageListCOMCTL32(i) ' Initialisations de la toolbar avec le control ImageList correspondant
  • With ToolbarCOMCTL32(i).Buttons
  • .Add , , "Rafraichir", , 1 ' Ajout des bouttons
  • .Add , , "Ajouter", , 2
  • .Add , , "Editer", , 3
  • .Add , , "Supprimer", , 4
  • .Add , , "Imprimer", , 5
  • .Add , , "Quitter", , 6
  • End With
  • Next
Dim i As Integer

' On remplit le controle ImageList de COMCTL32.OCX
' avec le controle ImagList de MSCOMCTL.OCX
For i = 1 To ImageListMSCOMCTL.ListImages.Count
   ImageListCOMCTL32(1).ListImages.Add , , ImageListMSCOMCTL.ListImages(i).Picture
Next

For i = 0 To 1 ' Boucle pour ajouter les boutons dans les 2 toolbars
   ToolbarCOMCTL32(i).ImageList = ImageListCOMCTL32(i) ' Initialisations de la toolbar avec le control ImageList correspondant
   With ToolbarCOMCTL32(i).Buttons
      .Add , , "Rafraichir", , 1 ' Ajout des bouttons
      .Add , , "Ajouter", , 2
      .Add , , "Editer", , 3
      .Add , , "Supprimer", , 4
      .Add , , "Imprimer", , 5
      .Add , , "Quitter", , 6
   End With
Next

 Conclusion

Voila, de cette manière il n'est plus necessaire de recharger les icones avant chaque compilation du programme.
A noter aussi que les icones XP (32 bits RGB/A) ne sont pas compatibles avec VB , mais il y a une alternative aux icones 256 couleurs : Les icones "True Colors" (RGB - 24 bits - 16,8 M de couleurs) sont elles compatibles !! Perso je les créé avec axialis iconworkshop 6 ;)
(Je joint les icones pour exemple)

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

13 novembre 2005 15:18:50 :
J'm'etais trompé dans l'ajout de la source :P
13 novembre 2005 15:23:02 :
J'ai tout de meme joint l'exe (rebonommer de ".exe-" en ".exe")

 Sources du même auteur

Source avec Zip Source avec une capture POPUP MENU COMPLET POUR RICHTEXTBOX (COPIER,COLLER,ETC...)
Source avec Zip Source avec une capture RECHERCHE DE PAROLES DE CHANSONS
Source avec Zip Source avec une capture LABEL LINK TRÉS SIMPLE, SANS OCX NI RIEN
Source avec Zip Source avec une capture HEXA / DECIMAL / VB HEXA / RVB - TOUTES LES CONVERSIONS DE T...
Source avec Zip Source avec une capture CALENDRIER (SANS OCX , GERE LES ANNÉES BISSEXTILES)

 Sources de la même categorie

Source avec Zip COMMUNICATION MODBUS MASTER par sergelapointe
Source avec Zip Source avec une capture DÉPLACEMENT AVEC FLÈCHES DANS UN PAVÉ DE TEXTBOX 9X9 DYNAMIQ... par EhJoe
Source avec Zip Source avec une capture Source .NET (Dotnet) CONTROLSTARS EN RÉPONSE À JAKNIGHT007 par bigboss9
Source avec Zip Source avec une capture Source .NET (Dotnet) CALENDRIER ANNUEL NORME ISO par Prog1001
Source avec Zip Source avec une capture Source .NET (Dotnet) CONTROLE STARS par jaknight007

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture Source .NET (Dotnet) CONTROLSTARS EN RÉPONSE À JAKNIGHT007 par bigboss9
Source avec Zip Source avec une capture [VB6 - ACTIVEX] RGWEATHER - LA MÉTÉO SIMPLEMENT DANS VOS APP... par magicgus
Source avec Zip Source avec une capture [VB6 - ACTIVEX] MAGICBOX OU BOITE À CONTROLS... par magicgus
Source avec Zip BACKGROUNDVIDEO.OCX par magicgus
Source avec Zip Source avec une capture YATHZEE AVEC UN CONTROL "DÉ" par SnkVrt

Commentaires et avis

Commentaire de NoFutur le 14/11/2005 11:49:58

Salut,

Il y a dix fois plus simple pour règler ce problème à la noix mais ça demande un petit travail en amont.

Prend le temps de convertir tes icônes en BMP en leur donnant une couleur de fond unie (le mauve par exemple). Ensuite tu associe les BMP au composant comctl32.ocx en n'oubliant pas de définir aussi la propriété MaskColor de la même couleur de fond dans le composant ImageList.

Ensuite tu associe Imagelist avec la barre d'outils du même composant et tu défini ensuite normalement les icônes pour tes boutons.

Avantage: les couleurs sont respectées il n'y a plus de bug de destruction des couleurs et tu économise un composant supplémentaire dans ton projet ici en l'occurence mscomctl.ocx

Nota: Tu dois procéder de la même manière pour le TreeView et le ListView du composant comctl32.ocx

PS: tu trouveras ici une source qui te permettra de convertir les icones en BMP avec la couleur de fond :
http://www.vbfrance.com/code.aspx?ID=20137

Bonne prog ^_^
@plus

Commentaire de Danyz le 14/11/2005 11:52:10

Je savais pas :P
Merci !

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

listview [ par steph44 ] Je développe un nouveau programme dans lequel souhaite mettre dans images dans une listview sous forme report en utilisant le control "imagelist". J'a Ajout d'un user control dans une boite à outils [ par youma85 ] bonjour,mon problème est comment avoir un user control dans la toolbox: j'ai crée un projet puis j'ai ajouter un nouveau projet qui va contenir mon co Calendar : le cacher lorsqu'un autre control est selectionne [ par jeromedu01 ] Bonjour a tous.Je pense que cette question sera elementaire pour bien d'entres vous mais moi je bloque.Dans un formulaire windows je clique sur un bou theme d'une application [ par charrynsasi ] bonjoursje voulais telecharger un control vb.net qui a la possibilite de rendre mon interface plus attrayantun control de style visuel ou un themej'ai Où trouver l'outil winsock_control.winsock [ par lagarce ] Rebonjour à tout le monde,Voilà je cherche l'outil winsock_control.winsock afin de créer une appli serveur/clientJ'ai essayer le clic droit dans la bo Control chiffre [ par marty14 ] Bonjour, j'aimerais faire un truc comme ceci mais apparament mon code n'est pas bon ! : If BufferIn(3) = "166" Or "167" Or "168" Or "169" Or "207" A votre AVIS - control [ par marty14 ] Bonjour,J'aimerais avoir votre avis sur le fait d'empecher cetaines actions d'un programme.J'ai un programme qui s'execute automatiquement au demarage ToolTipText dans un UserControl (VB6) [ par Polack77 ] Bonjour ,J'ai une question con (si si elle l'est ^^)J'ai fait un UserControl contenant des shapes ou Frame sur tout le font du control. Je veut néanmo Forms, User Control ou WPF [ par Steph1258 ] Bonjour à tous,Je vais créer une nouvelle application en vb.net (2008), et je ne sais pas quoi choisir pour la création de mes formulaires.Prendre des évenement relatif au combobox [ par beet2che ] Bonjourj'ai ajouté un combobox par code à ma form.je voulais savoir comment je peux gérer les évenements relatif à cet control par d'habitude je sélec


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 4,118 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales