Differenze tra le versioni di "Istruzioni essenziali per disegnare su una DrawingArea"
(Creata pagina con "La [https://gambaswiki.org/wiki/comp/gb.qt4/drawingarea DrawingArea] esercita il suo precipuo compito di area di disegno mediante e all'interno del suo Evento "_Draw()". <BR>E...") |
(Nessuna differenza)
|
Versione delle 16:53, 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 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ì un nuovo disegno: DrawingArea1.Refresh End