2009-05-15 9 views
0

Nous avons créé une barre d'outils. il y a un contrôle statique sur la barre d'outils et nous avons placé l'image de l'icône ab sur ce contrôle statique. problème est que le contrôle statique a sa propre couleur et nous sommes incapables de le rendre transparent par rapport à la couleur du thème du navigateur. Ainsi, notre icône semble avoir une couleur d'arrière-plan lorsque les thèmes du navigateur sont changés. Par exemple:Le contrôle statique n'est pas transparent + MFC

+0

Que voulez-vous dire « thème du navigateur »? Le thème dans un navigateur Web? Comment un thème de navigateur est-il lié à une barre d'outils MFC? ActiveX? Voulez-vous dire les thèmes de Windows? – Aardvark

Répondre

1

Avez-vous envisagé de remplacer WM_CTLCOLOR dans votre barre d'outils pour renvoyer un NULL_BRUSH lors de la création de contrôles statiques?

0

Bien dériver votre propre contrôle statique dessiné par le propriétaire et utiliser un PNG chargé dans un CImage pour vous donner un alpha par pixel.

A défaut, il est possible de faire ce que vous demandez l'aide d'un maskblt ... mais son beaucoup plus facile tout au long de l'aide ATL'S et la classe CImage de GDI + :)

Questions connexes