Difficultés avec DrawState pour dessiner un BMP grisé

jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 - 8 mai 2009 à 12:44
cnt Messages postés 219 Date d'inscription lundi 21 novembre 2005 Statut Membre Dernière intervention 20 décembre 2010 - 10 mai 2009 à 00:41
'Lut all,
Ca faisait presque longtemps.
Alors sous VB6 je viens de découvrir l'API DrawState qui devrait me permettre de dessiner une image avec un effet grisé (Enabled = False).
Je suis, en effet, en train de faire un petit UC pour le taf et j'aurais besoin de dessiner cette image en grisé.

Mais voilà je dois faire qqch de travers.
je l'appel comme suit


Debug.Print DrawState(Picture1.hdc, 0, 0, Picture1.Picture, 0, 0, 0, 0, _

0, DST_BITMAP Or DSS_DISABLED)
Avec DST_BITMAP &H4 et DSS_DISABLED &H20

DrawState me retourn 1 (réussite) mais j'ai un rectangle gris, pas d'image a effet grisé (ou alors possé a l'extreme)

j'ai lu que l'on pouvais mettre 0 et 0 dans les hauteur et largeur sans problème (mais meme si je mets les hauteur et largeur de l'mage cela ne change rien)

J'ai bien vu les snippets permettant de convertir une image en niveau de gris mais j'aimerais voir le résultat avec DrawState

Quelqu'un aurait une petite idée, un bon lien pour essayer d'avoir l'effet souhaité?

@+: Ju£i€n
Pensez: Réponse acceptée

1 réponse

cnt Messages postés 219 Date d'inscription lundi 21 novembre 2005 Statut Membre Dernière intervention 20 décembre 2010 1
10 mai 2009 à 00:41
salut

c'est plûtot la constante => DSS_UNION As Long = &H10 qu'il faut utiliser
 donc DST_BITMAP Or DSS_UNION
ne pas oublier la propriété AutoRedraw = True

CNTJC
0
Rejoignez-nous