Differenze tra le versioni di "Istruzioni essenziali per disegnare su una DrawingArea"

Da Gambas-it.org - Wikipedia.
Riga 18: Riga 18:
 
  End
 
  End
 
Può accadere che si intenda richiamare arbitrariamente, secondo le necessità del codice o dell'utente, la funzione del disegno, che - come sappiamo - avviene con la sollevazione dell'Evento "_Draw()" della Classe ''DrawingArea''.
 
Può accadere che si intenda richiamare arbitrariamente, secondo le necessità del codice o dell'utente, la funzione del disegno, che - come sappiamo - avviene con la sollevazione dell'Evento "_Draw()" della Classe ''DrawingArea''.
<BR>Per far sollevare l'Evento "_Draw()" della ''DrawingArea'' si utilizza il Metodo ".Refresh()" della ''DrawingArea''.
+
<BR>Per far sollevare arbitrariamente (su richiesta) l'Evento "_Draw()" della ''DrawingArea'' si utilizza il Metodo ".Refresh()" della ''DrawingArea''.
  
 
Mostriamo un esempio, nel quale all'apertura del ''Form'' principale si disegnerà sulla superficie della ''DrawingArea'' un cerchio rosso; cliccando poi su un ''Button'', anch'esso posto sul ''Form'', si ridisegnerà il cerchio, ma con circonferenza di colore blu.
 
Mostriamo un esempio, nel quale all'apertura del ''Form'' principale si disegnerà sulla superficie della ''DrawingArea'' un cerchio rosso; cliccando poi su un ''Button'', anch'esso posto sul ''Form'', si ridisegnerà il cerchio, ma con circonferenza di colore blu.

Versione delle 16:58, 14 dic 2023

La DrawingArea esercita il suo precipuo compito di area di disegno mediante e all'interno del suo Evento "_Draw()".
E' nella routine dell'Evento "_Draw()", dunque, che si devono porre le istruzione necessarie per disegnare sulla superficie della DrawingArea.
La funzione utilizzata per disegnare sulla DrawingArea è PAINT.

In via generale all'attivarsi del Contenitore (ad esempio un Form ) che ospita la DrawingArea, si solleva automaticamente l'Evento "_Draw()" della DrawingArea.

Mostriamo un semplice esempio pratico, nel quale si disegnerà un cerchio al centro della DrawingArea (si dovrà avere cura di porre sul Form principale la DrawingArea):

Public Sub DrawingArea1_Draw()

' Si disegna con le risorse della Classe "Paint":
 With Paint
   .Arc(DrawingArea1.W / 2, DrawingArea1.H / 2, 100, Rad(0), Rad(360), False)
   .Stroke
' Alla fine si chiude l'attività del disegno:
   .End
 End With

End

Può accadere che si intenda richiamare arbitrariamente, secondo le necessità del codice o dell'utente, la funzione del disegno, che - come sappiamo - avviene con la sollevazione dell'Evento "_Draw()" della Classe DrawingArea.
Per far sollevare arbitrariamente (su richiesta) l'Evento "_Draw()" della DrawingArea si utilizza il Metodo ".Refresh()" della DrawingArea.

Mostriamo un esempio, nel quale all'apertura del Form principale si disegnerà sulla superficie della DrawingArea un cerchio rosso; cliccando poi su un Button, anch'esso posto sul Form, si ridisegnerà il cerchio, ma con circonferenza di colore blu.

Private clr As Integer = Color.Red


Public Sub DrawingArea1_Draw()

 With Paint
   .Brush = .Color(clr)
   .LineWidth = 2.0
   .Arc(DrawingArea1.W / 2, DrawingArea1.H / 2, 100, Rad(0), Rad(360), False)
   .Stroke
   .End
 End With

End


Public Sub Button1_Click()
 
 clr = Color.Blue

' Il Metodo ".Refresh()" della "DrawingArea" invoca l'Evento "_Draw()" determinando così la ripetizione del disegno:
 DrawingArea1.Refresh

End