Voila une source qui va vous plaire !!!
Elle va vous permettre de créer un composant personnaliser ( Un Panel ), qui va vous permettre d'appliquer le style aero à vos applications VB.
( Ce composant ne marche évidamment pas sur Windows XP, mais vous affichera le composant Panel en noir sans problème )
1) Pour commencer on créer une nouvelle class à notre projet qu'on appellera AeroPanel.vb et on clique droit sur le projet pui sur ajouter une référence... aller dans l'onglet .net et ajouter la référence System.Windows.Forms .
2) On tape ensuite le code de la class ( code si dessous )
3) On génére le projet, puis on importe le composant AeroPanel se trouvant dans la boîte à outils sur notre Form1 et dans la propriété BackColor du composant, il faut séléctionner la couleur Black se trouvant dans la catégorie web.
4) Ensuite on double clique sur notre Form1 pour basculer vers l'éditeur de code et on tape le code se trouvant en conclusion en prenant soin de rennomer NomDuPanel dans le code par le nom de votre panel biensure !!!
5) Vous voulez ajouter d'autres AeroPanel sur votre Form ? Aucun Problème, il suffira de rajouter le code :
NomDuPanel.BackColor = Me.TransparencyKey à la fin du code se trouvant en conclusion et de remplacer NomDuPanel par le nom de votre panel.
6) Il ne reste plus qu'a Générer le projet et de le tester !!!
Bonne Programmation. Gabilach...
Source / Exemple :
Imports System.Runtime.InteropServices
Public Class AeroPanel
Inherits Windows.Forms.Panel
<StructLayout(LayoutKind.Sequential)> _
Public Structure MARGINS
Public Destra As Integer
Public Sinistra As Integer
Public Su As Integer
Public Giu As Integer
End Structure
Declare Auto Function DwmIsCompositionEnabled Lib "dwmapi.dll" Alias "DwmIsCompositionEnabled" (ByRef pfEnabled As Boolean) As Integer
Declare Auto Function DwmExtendFrameIntoClientArea Lib "dwmapi.dll" Alias "DwmExtendFrameIntoClientArea" (ByVal hWnd As IntPtr, ByRef pMargin As MARGINS) As Integer
Public pMargins As New MARGINS With {.Su = -1, .Sinistra = -1, .Destra = -1, .Giu = -1}
End Class
Conclusion :
Le code de la Form1 sera donc :
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim en As Boolean = False
AeroPanel.DwmIsCompositionEnabled(en)
If en Then
AeroPanel.DwmExtendFrameIntoClientArea(Me.Handle, NomDuPanel.pMargins)
End If
Me.TransparencyKey = Color.FromKnownColor(KnownColor.ActiveCaption)
NomDuPanel.BackColor = Me.TransparencyKey
End Sub
End Class
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.