Aide pour creation d'un panel transparent en vb.net [Résolu]

Messages postés
94
Date d'inscription
vendredi 12 septembre 2008
Statut
Membre
Dernière intervention
19 mai 2012
- - Dernière réponse : cs_mickael56100
Messages postés
94
Date d'inscription
vendredi 12 septembre 2008
Statut
Membre
Dernière intervention
19 mai 2012
- 17 avril 2009 à 18:00
Bonjour tout le monde je souhaiterais ajouter à mon projet un panel avec un effet de transparence c'est à dire une opacité de 60% le problème est que le panel proposé par microsoft visual studio 2008 n'offre pas la possibilité de gérer l'opacité.
Je souhaiterais en créer un, est ce que quelqu'un pourrait m'éclairer sur la démarche à suivre.

Merci d'avance
Afficher la suite 

5 réponses

Meilleure réponse
Messages postés
7745
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
28
3
Merci
Chez moi ça marche.

J'ai pris le fichier Tranparent.cs, puis sa version VB

Il faut virer tous les # en debut de ligne sauf pour les lignes #Region et #End Region

Il faut renommer la variable opacity (avec un o minuscule) partout ou elle est rencontrée en, par exemple, _opacity, pour la différencier de la propriété Opacity

Il faut modifier la ligne Return DirectCast((Me._opacity * 255), Byte) en Return CType((Me._opacity * 255), Byte)

Il faut generter une fois la solution, afin que le nouveau contrôle apparaisse dans la boite à outil.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 135 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_casy
Messages postés
7745
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
28
3
Merci
Vérifie que tu n'as pas un saut de ligne juste avant Private ...
Il ne doit pas y avoir de ligne vide entre la ligne <DllImport ...... et la ligne Private .....

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 135 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_casy
Messages postés
94
Date d'inscription
vendredi 12 septembre 2008
Statut
Membre
Dernière intervention
19 mai 2012
0
Merci
j'ai vu que sur le site il y a cette source en c# elle correspond a ce que je voudrais réaliser.
http://www.csharpfr.com/codes/PANEL-TRANSPARENT_33676.aspx
Ne connaissant pas vraiment le c# j'ai essayé de convertir le code avec l'outil de conversion du site mais cela ne fonctionne pas il y a des erreurs
Commenter la réponse de cs_mickael56100
Messages postés
94
Date d'inscription
vendredi 12 septembre 2008
Statut
Membre
Dernière intervention
19 mai 2012
0
Merci
un grand merci a toi casy, ça serait cool si ça pouvait fonctionner.
la j'ai tester en fesant tout ce que tu m'as dit il me reste deux petites erreurs apres les dllimport au niveau de ce que j'ai mis en rouge :

#Region "P/Invoke"

    <DllImport("user32.dll", CharSet := CharSet.Auto, SetLastError := True)> _

        Private Shared Function GetWindowLong(ByVal hWnd As HandleRef, ByVal nIndex As Integer) As Integer

        End Function

    <DllImport("user32.dll", CharSet := CharSet.Auto, SetLastError := True)> _

        Private Shared Function SetWindowLong(ByVal hWnd As HandleRef, ByVal nIndex As Integer, ByVal dwNewLong As Integer) As IntPtr

        End Function

        Private Const WS_EX_TRANSPARENT As Integer = 32

        Private Const GWL_EXSTYLE As Integer = -20

#End Region

Erreur    3    Le spécificateur d'attribut n'est pas une instruction complète. Utilisez un signe de continuation de ligne pour appliquer l'attribut à l'instruction suivante.    C:\Users\Utilisateur\Documents\Visual Studio 2008\Projects\MyPlayer\MyPlayer\TransparentPanel.vb    21    76    MyPlayer

Erreur    4    Le spécificateur d'attribut n'est pas une instruction complète. Utilisez un signe de continuation de ligne pour appliquer l'attribut à l'instruction suivante.    C:\Users\Utilisateur\Documents\Visual Studio 2008\Projects\MyPlayer\MyPlayer\TransparentPanel.vb    27    76    MyPlayer
Commenter la réponse de cs_mickael56100
Messages postés
94
Date d'inscription
vendredi 12 septembre 2008
Statut
Membre
Dernière intervention
19 mai 2012
0
Merci
voila ça fonctionne exactement ce que je recherchais, un grand merci à toi casy.
Commenter la réponse de cs_mickael56100