Differenze tra le versioni di "Disegnare in una DrawingArea un triangolo"
Da Gambas-it.org - Wikipedia.
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 19: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