Style aero de vista/seven sur form vb

Description

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

Codes Sources

A voir également

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.