1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
|
Function traceflch(ByVal Taille As Long, ByVal Angle As Double)
Dim v As Variant
Const CoeffTaille As Double = 0.1 'Taille de la pointe : 10% longueur fleche
Const DecalAngle As Double = 15 'Angle de la pointe : 5° par rapport au corps
Dim lngBlack As Long
Angle = 45
Taille = 2000
lngBlack = RGB(0, 0, 0)
'Définition de la couleur
trcorps.BorderColor = lngBlack
trgauche.BorderColor = lngBlack
trdroit.BorderColor = lngBlack
'Définition du corps de la flèche
v = GetCoeff(Angle)
trcorps.Left = 900
trcorps.Top = 900
trcorps.Width = v(0) * Taille
trcorps.Height = v(1) * Taille
trcorps.LineSlant = TypeOrientation(Angle)
'Définition de la première pointe
v = GetCoeff(Angle + DecalAngle)
trdroit.Width = v(0) * Taille * CoeffTaille
trdroit.Height = v(1) * Taille * CoeffTaille
trdroit.LineSlant = TypeOrientation(Angle)
'Définition de la première pointe
v = GetCoeff(Angle - DecalAngle)
trgauche.Width = v(0) * Taille * CoeffTaille
trgauche.Height = v(1) * Taille * CoeffTaille
trgauche.LineSlant = TypeOrientation(Angle)
'Position de la flêche
'Définition des Top
Select Case Angle
Case 0 To 180
trdroit.Top = trcorps.Top
trgauche.Top = trcorps.Top
Case 180 To 360
trdroit.Top = trcorps.Top + trcorps.Height - trdroit.Height
trgauche.Top = trcorps.Top + trcorps.Height - trgauche.Height
End Select
'Définition des left
Select Case Angle
Case 0 To 90, 270 To 360
trdroit.Left = trcorps.Left + trcorps.Width - trdroit.Width
trgauche.Left = trcorps.Left + trcorps.Width - trgauche.Width
Case Else
trdroit.Left = trcorps.Left
trgauche.Left = trcorps.Left
End Select |
Partager