Newsgroup: it.comp.lang.visual-basic
Titolo: Vb 2005-DrawString

Ciao a tutti,
gli ultimi 2 parametri della seguente istruzione :
      e.Graphics.DrawString(Me.TextBox1.Text, Me.Font, Brushes.Black, 80, 10)
indicano di stampare il testo alla riga 80 della colonna 10 ???
La domanda perchè se metto 80, 20 non mi sembra ci siano differenze nella
stampa.
Grazie a tutti
Zorro
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 indicano di stampare il testo alla riga 80 della colonna 10 ???
No, sono le coordinate x e y (in pixel) sul tuo oggetto Graphics.
-- 
news:it-alt.comp.software.openoffice : Il newsgroup dedicato a
OpenOffice.org, la suite open source di applicazioni per ufficio.
Saluti, VITRIOL

 ha
scritto:

Ah! Mi sembrava troppo facile.
Ma se io dovessi fare la stampa di una Form, o meglio, di alcuni campi della
Form , con tanto di intestazione, che ne so , una roba tipo :
PROVA INTESTAZIONE Pag. 1 di 1
Nome : Pippo
cosa devo usare ?
Oppure per dire: stampami il contenuto della textbox1.text alla riga 10
colonna 20 ???
grazie ...


 colonna 20 ???
Il fatto è che le dimensioni di una riga dipendono dal font selezionato 
e dalla risoluzione del tuo oggetto Graphics.
Potresti calcolare l'altezza del carattere con GetHeight, aggiungergli 
un certo spazio per l'interlinea e poi moltiplicare per il numero di 
righe che vuoi.
Esempio:
Dim AltezzaRiga As Single = Me.Font.GetHeight + 2
Dim RigaDieci As Single = AltezzaRiga * 10
e.Graphics.DrawString(Me.TextBox1.Text, Me.Font, Brushes.Black, 80, 
RigaDieci )
Per la colonna la vedo più dura, anche perché la larghezza dei caratteri 
non è uguale per tutti, a meno che non usi un carattere a spaziatura 
fissa. Altrimenti dire "colonna" non ha molto senso.
Se il carattere è a spaziatura fissa, puoi provare a calcolare la 
larghezza di un singole carattere usando il metodo 
e.Graphics.MeasureString() e poi moltiplicare, ma non so se funziona.
L'unica è fare un po' di prove :-)
-- 
news:it-alt.comp.software.openoffice : Il newsgroup dedicato a
OpenOffice.org, la suite open source di applicazioni per ufficio.
Saluti, VITRIOL

 ha
scritto:

OK , allora, partendo da questi tuoi suggerimenti, ho guardato qua e la del
materiale in rete.
Ho visto come fare (per ora a livello teorico) per stampare un documento di
testo, e anche delle immagini ecc. ..
Ora, la domanda mi sorge spontanea , ma se dovessi stampare, per esempio una
fattura, con campi che arrivano da un DB, con tanto di righe di dettaglio
che possono arrivare a determinare un salto pagina, e con tanto di totali a
piè di pagina, che strumento si può usare? Mica mi metto a scrivere un file
di testo e darlo in pasto al printDocument. Giusto ?
ancora grazie
Z.


 piè di pagina, che strumento si può usare?
Quello è lavoro degli strumenti di reportistica.
Le versioni Pro di Visual Studio forniscono il famoso Crystal Reports, 
mentre le versioni Express e Standard non hanno nulla di integrato.
Per .NET ci sono anche delle soluzione completamente gratuite, come ad 
esempio SharpDevelop Reports. E' lo strumento integrato nell'IDE di 
programmazione open source SharpDevelop, ma può essere anche usato 
separatamente:
http://sharpdevelopreports.net/
Comunque nulla ti vieta di scriverti una tua libreria di classi 
personalizzata per gestire la stampa, ma non la vedo molto facile. Io 
credo che non ne sarei mai capace :-)


 mentre le versioni Express e Standard non hanno nulla di integrato.
Mh, sei sicuro?
Perchè la versione standard ha integrato il Visual Studio Report 
Designer, non so quanto sia "appetibile" ma anche se fosse solo allo 
stesso livello del datareport presente in VB6 andrebbe bene.
ciao
stefano

 stesso livello del datareport presente in VB6 andrebbe bene.
Sì, hai ragione. Me ne intendo poco, quindi non so dire quali siano le 
sue funzionalità.
Comunque solo dalla Pro in su è presente Crystal Reports.
