Salut !
Voila tout simplement comment rendre une forme avec des coins arrondis grâce a un API :
Tout d'abords commencer a retirer la bordure
Cliquez sur l'image pour la voir en grand.
Dans le code :
Maintenant déplacer la form sans les bordures
Tout simplement en appelant le déplacement de form .
Code :
Voila tout simplement comment rendre une forme avec des coins arrondis grâce a un API :
Tout d'abords commencer a retirer la bordure
Cliquez sur l'image pour la voir en grand.
Dans le code :
Code:
[COLOR=Blue]Public Class[/COLOR][COLOR=Teal] Form1[/COLOR]
[COLOR=Blue]Private Declare Function[/COLOR] SetWindowRgn [COLOR=Blue]Lib [/COLOR][COLOR=Red]"user32"[/COLOR] ([COLOR=Blue]ByVal[/COLOR] hWnd [COLOR=Blue]As Integer[/COLOR], ByVal hRgn [COLOR=Blue]As Integer[/COLOR], [COLOR=Blue]ByVal [/COLOR]bRedraw [COLOR=Blue]As[/COLOR] [COLOR=Blue]Integer[/COLOR]) [COLOR=Blue]As Integer[/COLOR]
[COLOR=Blue]Private Declare Function [/COLOR]CreateRoundRectRgn [COLOR=Blue]Lib [/COLOR][COLOR=Red]"gdi32"[/COLOR] Alias [COLOR=Red]"CreateRoundRectRgn"[/COLOR] ([COLOR=Blue]ByVal [/COLOR]X1 [COLOR=Blue]As Integer[/COLOR], [COLOR=Blue]ByVal [/COLOR]Y1 [COLOR=Blue]As Integer[/COLOR], [COLOR=Blue]ByVal [/COLOR]X2 [COLOR=Blue]As Integer[/COLOR], [COLOR=Blue]ByVal [/COLOR]Y2 [COLOR=Blue]As Integer[/COLOR], [COLOR=Blue]ByVal [/COLOR]X3 [COLOR=Blue]As Integer[/COLOR], [COLOR=Blue]ByVal [/COLOR]Y3 [COLOR=Blue]As Integer[/COLOR]) [COLOR=Blue]As Integer[/COLOR]
[COLOR=Blue]Private Sub[/COLOR] Form1_Load(ByVal sender As System.[COLOR=Teal]Object[/COLOR], [COLOR=Blue]ByVal [/COLOR]e [COLOR=Blue]As [/COLOR]System.[COLOR=Teal]EventArgs[/COLOR]) [COLOR=Blue]Handles MyBase[/COLOR].Load
SetWindowRgn([COLOR=Blue]Me[/COLOR].Handle, CreateRoundRectRgn(30, 30, [COLOR=Blue]Me[/COLOR].Width, [COLOR=Blue]Me[/COLOR].Height, 30, 30), [COLOR=Blue]True[/COLOR])
[COLOR=Blue] End Sub
End Class[/COLOR]
Ce que sa donne :
Cliquez sur l'image pour la voir en grand.
Petite paranthèse pour augmenter l'angle ou le réduire vous pouvez modifier comme vous voulez en modifiant
ce code (30).
Voila pour ce qui est de faire des coins arrondis.
Cliquez sur l'image pour la voir en grand.
Petite paranthèse pour augmenter l'angle ou le réduire vous pouvez modifier comme vous voulez en modifiant
ce code (30).
Code:
[COLOR=Blue] ByVal [/COLOR]e [COLOR=Blue]As [/COLOR]System.[COLOR=Teal]EventArgs[/COLOR]) [COLOR=Blue]Handles MyBase[/COLOR].Load
SetWindowRgn([COLOR=Blue]Me[/COLOR].Handle, CreateRoundRectRgn(30, 30, [COLOR=Blue]Me[/COLOR].Width, [COLOR=Blue]Me[/COLOR].Height, 30, 30), [COLOR=Blue]True[/COLOR])
Maintenant déplacer la form sans les bordures
Tout simplement en appelant le déplacement de form .
Code :
Code:
[COLOR=Blue]Private Sub[/COLOR] Form1_Load([COLOR=Blue]ByVal [/COLOR]sender [COLOR=Blue]As [/COLOR]System.[COLOR=Teal]Object[/COLOR], [COLOR=Blue]ByVal [/COLOR]e [COLOR=Blue]As [/COLOR]System.[COLOR=Teal]EventArgs[/COLOR]) [COLOR=Blue]Handles MyBase[/COLOR].Load
[COLOR=Blue]Me[/COLOR].Left = ([COLOR=Blue]My[/COLOR].Computer.Screen.Bounds.Width / 2) - ([COLOR=Blue]Me[/COLOR].Width / 2)
Me.Top = ([COLOR=Blue]My[/COLOR].Computer.Screen.Bounds.Height / 2) - ([COLOR=Blue]Me[/COLOR].Height / 2)
[COLOR=Teal]DeplacementDeForm[/COLOR].RendreMobile(Me)
[COLOR=Blue]End Sub[/COLOR]
[COLOR=Blue]Public Class[/COLOR] [COLOR=Teal]DeplacementDeForm[/COLOR]
[COLOR=Blue] Public Shared Sub[/COLOR] RendreMobile(ByVal frm As Form)
[COLOR=Blue]Dim c As New[/COLOR] [COLOR=Teal]DeplacementDeForm[/COLOR](frm, frm)
[COLOR=Blue]End Sub[/COLOR]
[COLOR=Blue] Public Shared Sub[/COLOR] RendreMobile([COLOR=Blue]ByVal [/COLOR]frm [COLOR=Blue]As [/COLOR]Form, [COLOR=Blue]ByVal [/COLOR]control [COLOR=Blue]As [/COLOR]Control)
[COLOR=Blue]Dim c As New[/COLOR] [COLOR=Teal]DeplacementDeForm[/COLOR](frm, control)
[COLOR=Blue] End Sub[/COLOR]
[COLOR=Blue]#Region [/COLOR][COLOR=Red]"Variables privée"[/COLOR]
[COLOR=Blue]Private[/COLOR] m_ClickPoint [COLOR=Blue]As [/COLOR][COLOR=Teal]Point[/COLOR]
[COLOR=Blue]Private [/COLOR]m_Control [COLOR=Blue]As [/COLOR][COLOR=Teal]Control[/COLOR]
[COLOR=Blue]Private [/COLOR]m_Frm [COLOR=Blue]As [/COLOR][COLOR=Teal]Form[/COLOR]
[COLOR=Blue]#End Region[/COLOR]
[COLOR=Blue]#Region[/COLOR] [COLOR=Red]"Création"[/COLOR]
[COLOR=Blue]Public Sub New[/COLOR]([COLOR=Blue]ByVal [/COLOR]frm [COLOR=Blue]As [/COLOR][COLOR=Teal]Form[/COLOR], [COLOR=Blue]ByVal [/COLOR][COLOR=Teal]control [/COLOR][COLOR=Blue]As[/COLOR] Control)
m_Frm = frm
m_Control = control
[COLOR=Blue]AddHandler [/COLOR]m_Control.MouseDown, [COLOR=Blue]AddressOf[/COLOR] _MouseDown
[COLOR=Blue]AddHandler [/COLOR]m_Control.MouseMove, [COLOR=Blue]AddressOf[/COLOR] _MouseMove
[COLOR=Blue] End Sub[/COLOR]
[COLOR=Blue]#End Region[/COLOR]
[COLOR=Blue]#Region[/COLOR] [COLOR=Red]"Methodes"[/COLOR]
[COLOR=Blue]Sub [/COLOR]_MouseDown([COLOR=Blue]ByVal [/COLOR]sender [COLOR=Blue]As Object[/COLOR], [COLOR=Blue]ByVal [/COLOR]e [COLOR=Blue]As[/COLOR] [COLOR=Teal]MouseEventArgs[/COLOR])
m_ClickPoint = New Point(e.X, e.Y)
[COLOR=Blue]End Sub[/COLOR]
[COLOR=Blue]Sub [/COLOR]_MouseMove([COLOR=Blue]ByVal [/COLOR]sender [COLOR=Blue]As Object[/COLOR], [COLOR=Blue]ByVal [/COLOR]e [COLOR=Blue]As[/COLOR] [COLOR=Teal]MouseEventArgs[/COLOR])
[COLOR=Blue]If [/COLOR](e.Button = MouseButtons.Left) Then
[COLOR=Blue]Dim [/COLOR]p [COLOR=Blue]As [/COLOR][COLOR=Teal]Point [/COLOR]= m_Frm.Location
m_Frm.Location = [COLOR=Blue]New [/COLOR][COLOR=Teal]Point[/COLOR](p.X - m_ClickPoint.X + e.X, p.Y - m_ClickPoint.Y + e.Y)
[COLOR=Blue] End If
End Sub
#End Region
[/COLOR] [COLOR=Blue] End Class[/COLOR]
Voila après sa vous pourrez déplacé votre form comme vous voulez ;)
TuTo réaliser entièrement par mes soins.
Bon codage !
TuTo réaliser entièrement par mes soins.
Bon codage !