Newsgroup: it.comp.lang.visual-basic
Titolo: [VB.net]Paperino e la grafica...

 Paperino come sai ...io la grafica non la gestisco approfonditamente come 
probabilmente serve a te!
Non ho da fare cad e robe simili....
Però per cultura mia personale mi interessava la questione
Mi son fatto un mini progetto con una normale winform....
La premessa è che se tu volessi implementare anche i layer...probabilmente 
ti conviene fare le tue plottate su contenitori e non sul background...il 
panel per esempio!
Altra cosa e la vettorizzazione che sicuramente sai fare molto meglio di 
me...e che io non so fare....non so fare un tondo figurati se mi metto a 
fare grafica vettoriale!
Cmq...sarà aria fritta ma ho sperimentato questo
La tua form a dei metodi nascosti e protetti....(il bello è che lo hanno 
anche i controlli)
Quindi...una form e due command button
Imports System.IO
che ci serve per leggere da un file esterno
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As 
System.EventArgs) Handles Button1.Click
Dim g As Graphics = Me.CreateGraphics
Dim myPen As New Pen(Color.DarkGreen, 2)
g.DrawLine(myPen, 100, 21, 110, 200)
'legge stringa da un file
' g.DrawString("Cazzarolina di prova ", New Font("Arial", 12), 
Brushes.Brown, 21, 200)
g.DrawString((LeggiFile("TextFile1.txt", "")), New Font("Courier", 34), 
Brushes.Brown, 21, (Me.Height / 2))
myPen.Dispose()
End Sub
Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As 
System.EventArgs) Handles MyBase.Load
Me.BackColor = Color.White
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As 
System.EventArgs) Handles Button2.Click
Dim g As Graphics
g = Me.CreateGraphics
g.Clear(Color.Tomato)
End Sub
'il pi- classico snippet
Public Function LeggiFile(ByVal FullPath As String, _
Optional ByRef ErrInfo As String = "") As String
Dim strContents As String
Dim objReader As StreamReader
Try
objReader = New StreamReader(FullPath)
strContents = objReader.ReadToEnd()
objReader.Close()
Return strContents
Catch Ex As Exception
ErrInfo = Ex.Message
Return "Errore"
End Try
End Function
e poi ti fai la tua personale rielaborazione dell'evento OnPaint
Protected Overrides Sub OnPaintBackground(ByVal e As 
System.Windows.Forms.PaintEventArgs)
MyBase.OnPaintBackground(e)
Dim g As Graphics
'Su quello che gi. c'S sul background
g = e.Graphics
Dim myPen As New Pen(Color.Blue, 2)
g.DrawLine(myPen, 10, 10, 210, 210)
g.DrawLine(myPen, 10, 210, 210, 10)
g.DrawEllipse(myPen, 50, 50, 200, 100)
myPen.Dispose()
End Sub
L'ide è abbastanza intelligente
scrivi protected overrides è ti mostra tutta la roba nascosta e non che puoi 
"ricoprire" (override lo traduco così io!)
Troveresti OnPaint e anche OnPaintBackground ...e un sacco di altre cose
A me la form si comporta così.....
apro e mostra un po di grafica....
clicco su un bottone mi aggiunge una linea e un testo letto da un file
clicco sull'altro bottone...mi cancella la grafica e mi colora la form di un 
colore che a definire "osceno" è fargli un favore!
eh eh eh
Non so se è quello che volevi
però a spippolarci un po...per uno che sà quello che fà come te...penso che 
ci sia soddisfazione!
tra le altre cose esiste
un
invokePaint e un invokePaintBackground utile per generare eventi
e form.invalidate...etc etc
Insomma ...io non so usare tutta sta potenza...il grafico sei tu....e tutto 
sommato sta roba non è che un wrapper a dll che si possono usare anche senza 
dotnet....però se ce l'ho fatta io...vuol dire che organizzate così...sono 
chiare .....
e poi sono (per me che non sono un guru) molto ben documentate
Saluti Papero....
ma un "mitting" fra vecchie glorie un si fà più???
-----------------------------
Mio Blog
http://www.martek.it/dblog/default.asp
Mia città
http://wodka40hall.myminicity.com/
 

 ma un "mitting" fra vecchie glorie un si fà più???
...[sospiro]... magari :-).
Bye, G. 

 in locale, si debba far girare il server SQL...
Ecco, nessuno dice mai queste cose.
Io con msdn mi sono perso.
Faccio F1 con lo spirito di "mi sento fortunato" e spesso mi va bene, ma 
molto spesso: inserire cd#
greg 

 "Paperino" <non...@lo.dico.invalid> ha scritto

per evitare sta solfa, e' da vb6 che quando installo msdn per vb faccio 
l'installazione completa, con codice c++ c# j e foto dei gatti di gates... 
con vb6 perdevi circa 800mb, qui abbastanza di piu', ma e' tanto piu' 
pratico.
sql l'ho installato, ma non mi sembra che l'help abbia bisogno di quello. 
piu' che altro, darebbe per scontato che uno voglia cercare nelle 
communities e in linea, ma si puo' impostare il solo help locale, e cosi' ho 
fatto.
solo che e' parecchio complesso (nell'help di vb6 mi sono sempre trovato a 
mio agio), quindi di solito manco ci guardo e cerco in g per esempio
[visual basic 2008 | 
vb.net
 | keyword simili ] proxy
spesso si trovano esempi (ci sono moltissimi siti anche davvero ben fatti).
quando comincio a essere piu' dentro alla questione, uso il vecchio sistema 
di mettere il cursore in una parola e premere f1.
ciao, a.