TO _ SETPRESSEDIMAGELIST message

Définit la liste d’images utilisée par la barre d’outils pour afficher les boutons qui sont dans un état appuyé.

Paramètres

wParam

Index de la liste d’images. Si vous n’utilisez qu’une seule liste d’images, définissez ce paramètre sur 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 un état appuyé, 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 _ SETPRESSEDIMAGELIST 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 _ SETPRESSEDIMAGELIST a des conséquences imprévisibles.

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 :

  1. 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.
  2. Pour chaque liste d’images que vous souhaitez utiliser, envoyez au contrôle ToolBar un message _ SETPRESSEDIMAGELIST 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.
  3. 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.
  4. 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_SETPRESSEDIMAGELIST, 0, (LPARAM)ahiml[0]);
    SendMessage(hwndTB, TB_SETPRESSEDIMAGELIST, 1, (LPARAM)ahiml[1]);
    SendMessage(hwndTB, TB_SETPRESSEDIMAGELIST, 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 2008 [ applications de bureau uniquement]
En-tête
Commctrl. h

Voir aussi

Référence

TO _ GETPRESSEDIMAGELIST

Autres ressources

MAKELONG