images de dessin d'une liste d'images
Pour dessiner une image, utilisez la fonction membre d' CImageList::Draw. Spécifiez un pointeur vers un objet de contexte de périphérique, l'index de l'image à dessiner, l'emplacement dans le contexte de périphérique où dessiner l'image, et un jeu d'indicateurs pour indiquer le style de dessin.
Lorsque vous spécifiez le style d' ILD_TRANSPARENT, Dessiner utilise un processus en deux étapes pour dessiner une image masquée. En premier lieu, elle effectue une opération AND logique- sur les bits de l'image et les bits du masque. Puis elle exécute une opération de logique- XOR sur les résultats de la première opération et les bits d'arrière-plan du contexte de destination de périphérique. Ce processus crée des zones transparentes dans l'image résultante; autrement dit, chaque bit blanc dans le masque rend le bit correspondant dans l'image résultante transparent.
Avant de dessiner une image masquée sur un arrière-plan de couleur unie, vous devez utiliser la fonction membre d' SetBkColor pour définir la couleur d'arrière-plan de la liste des images à la même couleur que la destination. Définir la couleur élimine le besoin de créer des zones transparentes dans l'image et permet à Dessiner de copier simplement l'image au contexte de destination de périphérique, ce qui entraîne une augmentation significative des performances. Pour ajouter l'image, spécifiez le style d' ILD_NORMAL lorsque vous appelez Dessiner.
Vous pouvez définir la couleur d'arrière-plan pour une liste d'images masquées (CImageList) à tout moment afin qu'elle dessine correctement sur n'importe quel arrière-plan uni. Définir la couleur d'arrière-plan à CLR_NONE entraîne que les images à ajouter soient dessinées transparentes par défaut. Pour récupérer la couleur d'arrière-plan d'une liste d'images, utilisez la fonction membre d' GetBkColor.
Les styles d' ILD_BLEND25 et d' ILD_BLEND50 font trembler l'image avec la couleur de surbrillance du système. Ces styles sont utiles si vous utilisez une image masquée pour représenter un objet que l'utilisateur puisse sélectionner. Par exemple, vous pouvez utiliser le style d' ILD_BLEND50 pour dessiner l'image lorsque l'utilisateur la sélectionne.
Une image non masquée est copiée dans le contexte de périphérique de destination à l'aide de l'opération de trame SRCCOPY. Les couleurs dans l'image s'affichent de la même façon indépendamment de la couleur d'arrière-plan du contexte de périphérique. Les styles de dessin spécifiés dans Dessiner n'ont également aucun effet sur l'apparence d'une image non masquée.
En plus de la fonction membre Dessiner, une autre fonction, DrawIndirect, étend la capacité d'afficher une image. DrawIndirect prend comme paramètre une structure d' IMAGELISTDRAWPARAMS. Cette structure peut être utilisée pour personnaliser le rendu de l'image actuelle, notamment l'utilisation de codes d'opérations de trame (ROP). Pour plus d'informations sur les codes d'opération de trame, consultez Code d'opération de trame et Bitmap comme pinceaux dans Kit de développement logiciel Windows.