Disegnare in una DrawingArea un triangolo: differenze tra le versioni
Vai alla navigazione
Vai alla ricerca
Nessun oggetto della modifica |
Nessun oggetto della modifica |
||
| Riga 4: | Riga 4: | ||
'''Public''' Sub DrawingArea1_Draw() | '''Public''' Sub DrawingArea1_Draw() | ||
If vertix.Count == 0 Then Return | If vertix.Count == 0 Then Return | ||
With Paint | With Paint | ||
<FONT Color=gray>' ''Disegna un punto sul primo clic con il puntatore del mouse:''</font> | <FONT Color=gray>' ''Disegna un punto sul primo clic con il puntatore del mouse:''</font> | ||
| Riga 28: | Riga 26: | ||
.End | .End | ||
End With | End With | ||
'''End''' | '''End''' | ||
| Riga 35: | Riga 33: | ||
<FONT Color=gray>' ''Consente di disegnare un nuovo triangolo:''</font> | <FONT Color=gray>' ''Consente di disegnare un nuovo triangolo:''</font> | ||
If vertix.Count == 6 Then vertix = New Short[] | If vertix.Count == 6 Then vertix = New Short[] | ||
vertix.Push(Mouse.X) | vertix.Push(Mouse.X) | ||
vertix.Push(Mouse.Y) | vertix.Push(Mouse.Y) | ||
DrawingArea1.Refresh | DrawingArea1.Refresh | ||
'''End''' | '''End''' | ||
Versione delle 20:54, 15 dic 2021
Mostriamo di seguito un possibile codice per disegnare in una DrawingArea un singolo "Triangolo" impostando i suoi vertici con il clic del mouse.
Private vertix As New Short[]
Public Sub DrawingArea1_Draw()
If vertix.Count == 0 Then Return
With Paint
' Disegna un punto sul primo clic con il puntatore del mouse:
.Arc(vertix[0], vertix[1], 1, Rad(0), Rad(360))
.Fill
If vertix.Count < 4 Then
.End
Return
Endif
' Se il vettore "vertix" ha almeno 4 elementi, è possibile disegnare il primo lato:
.MoveTo(vertix[0], vertix[1])
.LineTo(vertix[2], vertix[3])
If vertix.Count == 6 Then
' Se il vettore "vertix" ha 6 elementi, è possibile disegnare il secondo e il terzo lato:
.LineTo(vertix[4], vertix[5])
.LineTo(vertix[0], vertix[1])
Endif
.Stroke ' Se si preferisce un triangolo "pieno", usare il Metodo ".Fill":
.End
End With
End
Public Sub DrawingArea1_MouseUp()
' Consente di disegnare un nuovo triangolo:
If vertix.Count == 6 Then vertix = New Short[]
vertix.Push(Mouse.X)
vertix.Push(Mouse.Y)
DrawingArea1.Refresh
End