TO _ SETIMAGELIST message
Définit la liste d’images utilisée par la barre d’outils pour afficher les boutons dont l’État par défaut est.
Paramètres
-
wParam
-
Version 5,80. Index de la liste. Si vous utilisez une seule liste d’images ou une version antérieure des contrôles communs, affectez à wParam la valeur zéro. Pour plus d’informations sur l’utilisation de plusieurs listes d’images, consultez la section Notes.
-
lParam
-
Handle de la liste d’images à définir. Si ce paramètre a la valeur null, aucune image ne s’affiche dans les boutons.
Valeur de retour
Retourne le handle de la liste d’images utilisée précédemment pour afficher les boutons dans leur état par défaut, ou null si aucune liste d’images n’a été définie précédemment.
Notes
Notes
Votre application est chargée de libérer la liste d’images après la destruction de la barre d’outils.
Le message _ SETIMAGELIST to ne peut pas être combiné avec to _ ADDBITMAP. Elle ne peut pas non plus être utilisée avec les barres d’outils créées avec CreateToolbarEx, qui appelle to _ ADDBITMAP en interne. Lorsque vous créez une barre d’outils avec CreateToolbarEx ou utilisez to _ ADDBITMAP pour ajouter des images, la barre d’outils gère la liste d’images en interne. Toute tentative de modification avec to _ SETIMAGELIST a des conséquences imprévisibles.
Avec la version 5,80 ou ultérieure des contrôles communs, il n’est pas nécessaire que les images de bouton proviennent de la même liste d’images. Pour utiliser plusieurs listes d’images pour vos images de bouton de barre d’outils :
- Activez plusieurs listes d’images en envoyant le contrôle ToolBar à un message _ SETVERSION CCM avec wParam (le numéro de version) défini sur 5.
- Pour chaque liste d’images que vous souhaitez utiliser, envoyez au contrôle ToolBar un message _ SETIMAGELIST to . Affectez à wParam une valeur wParam définie par l’application qui sera utilisée pour identifier la liste. Affectez à lParam la valeur du handle HIMAGELIST de la liste.
- Pour chaque bouton, définissez le membre iBitmap de la structure TBBUTTON du bouton sur MAKELONG (iIndex, iImageID). La valeur iImageID est l’ID de la liste d’images appropriée définie à l’étape 2. La valeur iIndex est l’index de l’image particulière dans cette liste.
- Ajoutez les boutons en envoyant le contrôle de barre d’outils à un message _ ADDBUTTONS to .
Le fragment de code suivant montre comment ajouter cinq boutons à une barre d’outils, avec des images de trois listes d’images différentes. La prise en charge de plusieurs listes d’images est activée avec un message CCM _ SETVERSION . Les listes d’images sont ensuite définies et les ID attribués de 0-2. Les boutons sont affectés aux images à partir des listes d’images comme suit :
- Le bouton 0 provient de la liste d’images zéro (ahimd [ 0 ] ) avec l’index 1.
- Le bouton 1 est issu de la liste d’images 1 (Ahim [ 1 ] ) avec un index de 1.
- Le bouton 2 provient de la liste d’images deux (Ahim [ 2 ] ) avec un index de 1.
- Le bouton 3 est issu de la liste d’images zéro (ahimd [ 0 ] ) avec un index de 2.
- Le bouton 4 est issu de la liste d’images 1 (Ahim [ 1 ] ) avec un index de 3.
Enfin, les boutons sont ajoutés au contrôle Toolbar avec un message _ ADDBUTTONS to .
//Enable multiple image lists
SendMessage(hwndTB, CCM_SETVERSION, (WPARAM) 5, 0);
//Set the image lists and assign them IDs of 0-2
SendMessage(hwndTB, TB_SETIMAGELIST, 0, (LPARAM)ahiml[0]);
SendMessage(hwndTB, TB_SETIMAGELIST, 1, (LPARAM)ahiml[1]);
SendMessage(hwndTB, TB_SETIMAGELIST, 2, (LPARAM)ahiml[2]);
// Create the five buttons
TBBUTTON rgtb[5];
//... initialize the TBBUTTON structures as usual ...
//Assign images to each button
rgtb[0].iBitmap = MAKELONG(1, 0);
rgtb[1].iBitmap = MAKELONG(1, 1);
rgtb[2].iBitmap = MAKELONG(1, 2);
rgtb[3].iBitmap = MAKELONG(2, 0);
rgtb[4].iBitmap = MAKELONG(3, 1);
// Add the five buttons to the toolbar control
SendMessage(hwndTB, TB_ADDBUTTONS, 5, (LPARAM)(&rgtb);
Spécifications
| Condition requise | Valeur |
|---|---|
| Client minimal pris en charge |
Windows [Applications de bureau Vista uniquement] |
| Serveur minimal pris en charge |
Windows Serveur 2003 [ applications de bureau uniquement] |
| En-tête |
|