Newsgroup: it.comp.lang.visual-basic
Titolo: Stampa form con PaintPicture

Salve a tutti,
sto cercando di stampare una form + grande del formato A4. Con la PrintForm 
viene tagliata, mentre con la PaintPicture viene stampato solo la struttura 
dei controlli ma non il loro contenuto, funziona cosi o sto sbagliando 
qualcosa?.
Grazie e saluti
Paolo 

Peek ha scritto:

Si, stai sbagliando due cose:
1) PrintForm è il demonio! Fuggilo...
2) PaintPicture "disegna", su form o stampante e forse anche PictureBox, 
  il contenuto di una proprietà Picture... Sicuro sia ciò che ti serve?
Consiglio: usa le proprietà e i metodi della stampante.
Proprietà: CurrentX, CurrentY
Metodi: Print, PaintPicture, EndDoc, newPage
E stampi di tutto...
-- 
Emanuele Torrenti
Registered Linux User #409659
http://torrenti.altervista.org

 E stampi di tutto...
...con la massima precisione.
-- 
ciao, hal

 Picture, ma anche Image.
Capisco che sei fico, ma non posso parlare di DC a chi ha problemi di 
stampa... :)


 stampa... :)
ricevuto :-)
-- 
ciao, hal


E' appunto cio che sto provando, PaintPicture ridimensiona e stampa 
correttamente la form passata ma con i controlli vuoti, non riporta cioè i 
dati in quel momento presentati a video che è quello che vorrei fare. 
Probabilmente non la sto usando correttamente.La Print non ancora provato a 
verificare se stampa le form..
Grazie e saluti
Paolo

 verificare se stampa le form..
Non ti fare illusioni: Print è il diretto successore del print del 
basic. In quanto tale stampa STRINGHE [*]. In definitiva, devi scrivere 
ogni singola linea(con il metodo Line) a manina.
[*]O qualunque cosa possa essere implicitamente convertito in Stringa.
-- 
Emanuele Torrenti
http://torrenti.altervista.org

 a verificare se stampa le form..
1) Per capire se il tuo codice č sbagliato bisognerebbe vederlo ;)
2) PaintPicture stampa quello che c'č nella picture in questione (nota 
*picture*, non picturebox).
Domanda: cosa c'č nella picture che vuoi stampare?
Come lo ottieni?
Ciao

 Come lo ottieni?
?
Ciao e grazie
Paolo

 sopra una picturebox (PicContainer)
Ma tu questo non l'avevi detto!


 Ma tu questo non l'avevi detto!
Chiaro, altrimenti il problema mica si poneva :)
I controlli su un oggetto mica fanno parte della picture dell'oggetto!
Qui occorre lavorare un po' di API:
Ti serve una PictureBox nascosta su cui copiare l'immagine presa dal desktop 
(sinceramente non capisco molto a cosa serva una stampa del genere).
Con la BitBlt() copy l'hDC del form sull'hDC della PictureBox nascosta.
Ora con la Print.PaintPicture stampi la PictureBox nascosta.
E qui cerca un un po' in rete su questi punti.
Ciao
-- 
Free .Net Reporting Tool - 
http://www.neodatatype.net
 

 Ciao
Fatto!, ho trovato appunto un metodo che copia la picture con i miei 
controlli sopra ad un'altra e poi la si puo ridimensionare utilizzando i 
parametri della PaintPicture mandare in stampa con la copia dei controlli 
presenti nella form.
Comunque per la cronaca la stampa serve per portare su carta un documento 
amministrativo che č stato scannerizzato ed utilizzato come sfondo della 
form sul quale poi o sovrapposto i controlli in modo da simulare la 
compilazione manuale del documento senza doverlo ridisegnare tutto a mano. 
Dopo che ho riempito la form/Documento devo stampare tutto quello che vedo a 
video compreso lo sfondo.
Saluti e grazie a tutti.
Paolo 

 video compreso lo sfondo.
Mamma mia! Prendere un righello e stampare in maniere precisa no, eh?



Ti farei vedere!, ci sono piccoli grafici, 5 o 6 font diverse, postille 
scritte in verticale sui bordi ecc. una follia da rifare a mano!.
Comunque è un sistema che ho usato spesso, perchè se il cliente ti dice che 
l'output deve essere 'uguale' a quel foglio che compilano da 10 anni a mano, 
io gli faccio sia l'input che l'output UGUALE al suo vecchio documento, loro 
son contenti perchè non gli cambia niente ed io faccio anche prima ;).
Saluti
Paolo 

Peek ha scritto:

Sono d'accordo con te, ma ammetterai che è un approccio dozzinale... Te 
lo dice uno che per ovviare a questi inconvenienti(leggasi fedeltà 
tipografica) ha dovuto sviluppare un po' di classi e un editor (poco) 
WYSIWYG per i campi del modulo... Con questo sistema stampo fatture, 
etichette con codici a barre...



Non mi fraintendere non è che uso sto sistema per fare le fatture!, solo per 
particolari situazioni, come questa.
Per tutto il resto c'e' l'ActiveReport.;).
Saluti
Paolo.