Creare, spostare e distruggere un'immagine in una DrawingArea
Vai alla navigazione
Vai alla ricerca
Mostriamo un possibile codice per creare più immagini, spostare e distruggere delle immagini sulla DrawingArea.
Gli Oggetti di tipo Image creati sono assegnati a un vettore di tipo "Image[]".
Subito dopo la creazione di una singola immagine, mantenendo premuto il tasto di sinistra del mouse, e possibile spostarla sempre con il mouse sulla superficie della DrawingArea.
Cliccando invece con il tasto destro si distruggerà l'Oggetto Image contenuto nell'ultimo elemento corrente del vettore di tipo "Image[]".
Private im As Image
Private iimm As New Image[]
Private xx As New Short[]
Private yy As New Short[]
Public Sub Form_Open()
im = New Image(16, 26, Color.Transparent, Image.Standard)
With Paint
.Begin(im)
.Font.Size = 24
.Brush = .Color(Color.Blue)
.DrawText(String.Chr(&1d15f), 0, 14, 0, 0, Align.Center)
.DrawText(String.Chr(&1d16e), 8, 14, 0, 0, Align.Center)
.End
End With
End
Public Sub DrawingArea1_MouseDown()
If Mouse.Right Then
If iimm.Count > 0 Then
iimm.Remove(iimm.Max)
xx.Remove(xx.Max)
yy.Remove(yy.Max)
Else
Return
Endif
Else
xx.Push(Mouse.X)
yy.Push(Mouse.Y - 24)
iimm.Push(im)
Endif
DrawingArea1.Refresh
End
Public Sub DrawingArea1_MouseMove()
If Mouse.Right Then Return
xx[xx.Max] = Mouse.X
yy[yy.Max] = Mouse.Y - 24
DrawingArea1.Refresh
End
Public Sub DrawingArea1_Draw()
Dim i As Integer
With Paint
For i = 0 To iimm.Max
.DrawImage(iimm[i], xx[i], yy[i], im.W, im.H, Align.Center)
Next
.End
End With
End