Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Conteneur transparent sur lequel on peut dessiner (hDC) [ Divers / General ] (windob)

vendredi 18 janvier 2008 à 10:01:19 | Conteneur transparent sur lequel on peut dessiner (hDC)

windob

Membre Club


Salut,

Je développe une petit prog dans lequel j'extrait une icone avec l'API ExtractAssociatedIcon.
J'aimerais dessiner cette icon dans un conteneur qui serait transparent.
Seuelement, le probleme c'est qu'evidemment, si par exemple je prends un userform et que je met BackStyle a transparent, j'ai beau dessiner sur le userform (avec DrawIconEx), je n'ai rien !

Ma question est donc, existe t-il un conteneur possédant un hDC qui soit transparent de base mais sur lequel on peut dessiner et que seul le dessin soit non-transparent ?

J'aimerais éviter les techniques de découpages des bords avec les regions, etc car ces techniques sont souvent lentes et imprecises.

Merci d'avance

vendredi 18 janvier 2008 à 14:53:10 | Re : Conteneur transparent sur lequel on peut dessiner (hDC)

Renfield

Administrateur CodeS-SourceS
tu peux prendre un UserControl tout bête... joues avec le MaskColor / MaskPicture / BackStyle

vendredi 18 janvier 2008 à 15:39:03 | Re : Conteneur transparent sur lequel on peut dessiner (hDC)

windob

Membre Club

C'est ce que j'ai commencé par faire, mais l'ennui c'est que ça ne gere evidemment pas la transparence partielle.
Est-ce qu'il existe des controles qui sont transparents de base sur lesquels on peu dessiner ? C'est a dire comme un controle Image mais avec une propriété hDc en gros.


vendredi 18 janvier 2008 à 22:24:57 | Re : Conteneur transparent sur lequel on peut dessiner (hDC)

Renfield

Administrateur CodeS-SourceS
"ça ne gere evidemment pas la transparence partielle" mais qu'est-ce que tu racontes ? as tu bien regardé les propriétés dont je t'ai parlé ? as tu placé une image dans ton MaskPicture ?

samedi 19 janvier 2008 à 09:24:57 | Re : Conteneur transparent sur lequel on peut dessiner (hDC)

windob

Membre Club

Oui, je l'ai fait, justsment :

J'ai d'abords rempli le usercontrol avec une seule couleur pour que appliqué cette couleur comme maskcolor, j'ai dessiné ensuite le masque de l'icone parametre DI_MASK puis j'ai appliqué l'image du usercontrol a maskpicture :

        Ext_hIcon = ExtractAssociatedIcon(App.hInstance, Icon_FilePath, 0) 'ByVal Icon_Index)
        DrawIconEx UserControl.hDC, Int((m_LabelWidth - m_IconWidth) / 2), 0, Ext_hIcon, m_IconWidth, m_IconWidth, 0, 0, DI_MASK
        DrawTextEx UserControl.hDC, m_Caption, UserControl.ScaleX(m_LabelWidth, vbPixels, vbCharacters), lbRect, DT_CENTER, 0&
       
        UserControl.MaskPicture = UserControl.Image
        UserControl.MaskColor = UserControl.BackColor
       
        DrawIconEx UserControl.hDC, Int((m_LabelWidth - m_IconWidth) / 2), 0, Ext_hIcon, m_IconWidth, m_IconWidth, 0, 0, DI_IMAGE
       
        DestroyIcon Ext_hIcon

J'ai ensuite dessiné l'icone avec DI_IMAGE comme parametre.

Finalement, je me retrouve avec une icone qui est salement détourée puisque le masque est trop grand par rapport a l'image elle-meme puisque l'image contient de la transparence partielle (testé avec l'icone de notepad.exe).

Cordialement.






Cette discussion est classé dans : transparent, userform, hdc, conteneur, dessiner


Répondre à ce message

Sujets en rapport avec ce message

dessiner une ligne en vba excel sur userform [ par dedec94 ] Merci de bien vouloir m'aiderJ'aimerai pouvoir simplement dessiner une ligne en vba excel a partir de coordonné (x et y) mais impossible si quelqu'un Userform Transparent Gros Problème [ par vitter ] BonjourNouveau depuis ce matin je veux tous vous remercier car grace à ce site j'ai fais des pas de géantPouvez vous m'aider car j'avais réalisé sur d Dessiner sur le bureau [ par Julien237 ] Bonjour tout le monde, J'essaye de faire un programme permettant de dessiner sur le wallpaper (afin de, par exemple diffuser une vidéo ou pleins d'aut Label conteneur [ par chaibat05 ] Bonjour,Je cherche à transformer  un simple label en un contrôl conteneur, de façon à simuler un frame  "Transparent".Si c' est pas possible, comment text au dessus de tout mais transparent .... [ par kalif ] bonjour a tousje souhaiterait écrire "bonjour" sur l'écran, (comme quand on lève le son dans un clavier multimédia...) j'aimerai qu'il n'y ai pas de " Je cherche un exemple de script pour dessiner des formes simples sur Illustrator. [ par Marcel Leclerc ] Je cherche un exemple de Visual Basic script pouvant dessiner une forme contenant à la fois des lignes droites et courbes.<br / Dessiner un arc sans connaitre le centre du cercle [ par JohnBug ] Bonjour à tous,   Je dois construire une appli dans laquelle l'usagé peut dessiner des tracés sur une feuille à partir de coordonnées entrées au clavi problème de fermeture de userform [ par simplementyann ] Bonjour,J'ai un gros souci car je ne veux pas que l'on puisse fermer un formulaire en cliquant sur la croix.Est-il possible de la rendre invisible ou Création dynamique de Userform [ par gernoulle ] Bonjour,Je cherche à créer dynamiquement un Userform sous Excel.Je déclare ma variable  MyUserform   de type Userform, mais lorsque j'essaye de la cha listbox ds un userform [ par Achi ] bonjour,quelqu'un pourrait-il me dire si c'est normal que dans une listbox placée d'un un userform je n'ai pas le paramétre listfillrange lorsque je f


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 6,895 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.