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 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138
| Option Explicit
Public largeur_vanne As Integer
Public hauteur_vanne As Integer
Public coord_x_nom_vanne As Integer
Public coord_y_nom_vanne As Integer
Public coord_x_remplissage As Integer
Public coord_y1_remplissage As Integer
Public coord_y2_remplissage As Integer
Public Choix As Integer
Public etat_van As Integer
Private Sub UserControl_Initialize() ' toutes les initialisations
Picture1.Top = 32
Picture1.Left = 94
Picture1.Height = 32
Picture1.Width = 17
Picture2.Top = 8
Picture2.Left = 56
Picture2.Height = 17
Picture2.Width = 92
largeur_vanne = 14
hauteur_vanne = 28
coord_x_remplissage = 7
coord_y1_remplissage = 13
coord_y2_remplissage = 15
End Sub
Private Sub UserControl_Paint()
TraceVanne2VoiesVerticale
End Sub
Private Sub Command1_Click(Index As Integer) ' choix position NOM de la VANNE
Select Case Index
Case 0
Choix = 1
Picture2.Left = (96 + largeur_vanne)
Picture2.Top = (23.5 + (hauteur_vanne / 2))
Case 1
Choix = 2
Picture2.Left = (0)
Picture2.Top = (23.5 + (hauteur_vanne / 2))
End Select
End Sub
Function TraceVanne2VoiesVerticale() ' fonction permet de TRACER le polygon VANNE
Picture1.ScaleMode = vbPixels ' dessine en pixel
Picture1.ForeColor = vbBlack ' couleur trait en noir
Picture1.Line (0, 0)-(largeur_vanne, 0) ' horizontale h
Picture1.Line (0, 0)-(largeur_vanne, hauteur_vanne) ' oblique h.g - b.d
Picture1.Line (largeur_vanne, 0)-(0, hauteur_vanne) ' oblique h.d - b.g
Picture1.Line (0, hauteur_vanne)-(largeur_vanne, hauteur_vanne) ' horizontale b
Picture1.FillStyle = vbFSSolid ' la forme dessinée est un solide
End Function
Sub CouleurObjet(rouge As Integer, vert As Integer, bleu As Integer) ' fonction permet couleur vanne
Picture1.FillColor = RGB(rouge, vert, bleu) ' paramétres à modifier
FloodFill Picture1.hDC, coord_x_remplissage, coord_y1_remplissage, ForeColor ' colori la partie supérieure
FloodFill Picture1.hDC, coord_x_remplissage, coord_y2_remplissage, ForeColor ' colori la partie inférieure
End Sub
Private Sub Command2_Click(Index As Integer)
Picture1.Cls ' efface le tracé de la vanne précédente
Select Case Index
Case 0
If largeur_vanne = 14 Then ' limite mini pour largeur vanne
TraceVanne2VoiesVerticale
Else
largeur_vanne = largeur_vanne - 2
Picture1.Width = Picture1.Width - 2
Picture2.Left = Picture2.Left - 1
coord_x_remplissage = coord_x_remplissage - 1
If Choix = 1 Then
Picture2.Left = (96 + largeur_vanne)
End If
If Choix = 2 Then
Picture2.Left = 0
End If
TraceVanne2VoiesVerticale
End If
Case 1
If largeur_vanne = 100 Then ' limite max pour largeur vanne
TraceVanne2VoiesVerticale
Else
largeur_vanne = largeur_vanne + 2
Picture1.Width = Picture1.Width + 2
Picture2.Left = Picture2.Left + 1
coord_x_remplissage = coord_x_remplissage + 1
If Choix = 1 Then
Picture2.Left = (96 + largeur_vanne)
End If
If Choix = 2 Then
Picture2.Left = 0
End If
TraceVanne2VoiesVerticale
End If
End Select
End Sub
Private Sub Command3_Click(Index As Integer)
Picture1.Cls ' efface le tracé de la vanne précédente
Select Case Index
Case 0
If hauteur_vanne = 28 Then ' limite mini pour hauteur vanne
TraceVanne2VoiesVerticale
Else
hauteur_vanne = hauteur_vanne - 2
Picture1.Height = Picture1.Height - 2
coord_y1_remplissage = coord_y1_remplissage - 1
coord_y2_remplissage = coord_y2_remplissage - 1
If Choix = 0 Then
Picture2.Top = Picture2.Top
Else
Picture2.Top = (23.5 + (hauteur_vanne / 2))
End If
TraceVanne2VoiesVerticale
End If
Case 1
If hauteur_vanne = 198 Then ' limite max pour hauteur vanne
TraceVanne2VoiesVerticale
Else
hauteur_vanne = hauteur_vanne + 2
Picture1.Height = Picture1.Height + 2
coord_y1_remplissage = coord_y1_remplissage + 1
coord_y2_remplissage = coord_y2_remplissage + 1
If Choix = 0 Then
Picture2.Top = Picture2.Top
Else
Picture2.Top = (23.5 + (hauteur_vanne / 2))
End If
TraceVanne2VoiesVerticale
End If
End Select
End Sub
Private Sub Timer1_Timer()
Label3.Caption = largeur_vanne
Label4.Caption = hauteur_vanne
Select Case etat_van
Case 0
CouleurObjet CInt(255), CInt(0), CInt(0)
Case 1
CouleurObjet CInt(0), CInt(255), CInt(0)
Case 2
CouleurObjet CInt(0), CInt(0), CInt(255)
End Select
End Sub |
Partager