Fenêtres bizarroïdes

Contenu du snippet

Permet d'obtenir des fenêtres bizarroîdes
La solution est d'utiliser le GDI de Windows

Source / Exemple :


dans le module:
Public Declare Function CreateEllipticRgn Lib "gdi32" (ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long
Public Declare Function SetWindowRgn Lib "user32" (ByVal hwnd As Long, ByVal hRgn As Long, ByVal bRedraw As Boolean) As Long
Public Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long

dans le form
Private Sub Form_Load()
Dim rgncercle As Long
rgncercle = CreateEllipticRgn(0, 0, 320, 100)
SetWindowRgn Form1.hwnd, rgncercle, True
DeleteObject rgncercle
End Sub 

En plus:
On peut aussi réaliser d'autres figures: un polygone ou un rectangle arrondi sur les bords en remplaçant CreateEllipticRgn par ces fonctions.
Public Declare Function CreatePolygonRgn Lib "gdi32" Alias "CreatePolygonRgn" (lpPoint As POINTAPI, ByVal nCount As Long, ByVal nPolyFillMode As Long) As Long
Public Declare Function CreateRoundRectRgn Lib "gdi32" Alias "CreateRoundRectRgn" (ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long, ByVal X3 As Long, ByVal Y3 As Long) As Long

Conclusion :


www.accuracy.fr.tc

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.