La procédure doit être placée dans le formulaire pour l'instant, je n'ai pas réussi à la faire fonctionner depuis un module car la ligne Set mLine(i) = Controls.Add("Vb.line", "Ligne" & i) provoque une erreur
Les paramètres de la procédure:
Formulaire : nom du formulaire auquel on veut appliquer le dégradé
R1, G1, B1 : valeur des canaux rouge, vert et bleu de la couleur de départ
R2, G2, B2 : valeur des canaux rouge, vert et bleu de la couleur d'arrivée
Sens : sens du dégradé (0 pour un dégradé Nord/Sud, 1 pour un dégradé Est/Ouest)
La procédure s'appelle de la manière suivante :
Dégradé Me, 255, 0, 0, 255, 255, 0, 0
Source / Exemple :
Public Sub Dégradé(Formulaire As Form, R1 As Integer, G1 As Integer, B1 As Integer, R2 As Integer, G2 As Integer, B2 As Integer, Sens As Integer)
Dim mLine() As Line
Dim R, G, B As Integer
Dim Itérations As Long
R = R1
G = G1
B = B1
If Sens = 0 Then
Itérations = Formulaire.Height / 15
Else
Itérations = Formulaire.Width / 15
End If
ReDim mLine(0 To Itérations)
For i = 0 To Itérations - 1
Set mLine(i) = Controls.Add("Vb.line", "Ligne" & i)
With mLine(i)
R = R + (R2 - R1) / Itérations
G = G + (G2 - G1) / Itérations
B = B + (B2 - B1) / Itérations
If Sens = 0 Then
.X1 = 0
.X2 = Formulaire.Width
.Y1 = i * 15
.Y2 = i * 15
Else
.X1 = i * 15
.X2 = i * 15
.Y1 = 0
.Y2 = Formulaire.Height
End If
.Visible = True
.BorderColor = RGB(R, G, B)
End With
Next i
End Sub
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.