PDA

Visualizza la versione completa : [Delphi] Stampare una form


Kolgate
20-05-2002, 09:52
Salve a tutti!

Ho urgente bisogno di stampare una form di una applicazione senza usare i quick report. Dopo vari tentativi e grazie a un "mosaico" di esempi vari trovati in rete riesco a stampare la pagina-form, ma non in maniera soddisfacente... in parole povere ottengo una bitmap della form e la mando in stampa. Mi piacerebbe fosse possibiile adattarla all'a4 senza stretch... Vi prego, aiutatemi!! :cry:

Grazie fin d'ora! :p

alka
20-05-2002, 10:19
Per stampare un form così come lo vedi sul monitor, utilizza il metodo Print. Puoi intervenire sulle modalità di stampa agendo sulla proprietà PrintScale, forzando ad esempio il mantenimento delle proporzioni, lo stretching su tutto il foglio, ecc.
Consulta la Guida in linea di Delphi per avere informazioni più dettagliate.

Ciao! :ciauz:

Kolgate
20-05-2002, 12:32
ti rigrazio del consiglio, purtroppo pero' ho gia' usato print, ma il problema rimane...
in parole povere, settando Form1.PrintScale := poPrintToFit;
mi regola si le dimensioni della form al foglio della stampante, ma a scapito della qualita' delle immagini e dei font in essa contenuti, che vengovo visualizzati molto "pixelati",non so se mi spiego.

escludendo i Qickreport (non posso gestire il drag&drop di oggetti su un quickreport) c'e' un sistema per migliorare la qualita' dell'immagine prodotta?

alka
20-05-2002, 12:44
Temo di no. Quello che tu chiedi è un ridimensionamento della form che includa anche un algoritmo di interpolazione. L'unica alternativa che potresti avere è di scaricare qualche componente in grado di ingrandire un'immagine sorgente interpolando i punti (in parole povere, diminuendo l'effeto "pixelato" mescolando i colori nella generazione dei punti intermedi). A questo punto, potresti lasciare la proprietà PrintScale impostata su None, acquisire l'immagine del form "al naturale" e passarla al componente per il ridimensionamento e la conseguente stampa.
Prova a cercare sul sito Torry Delphi's Pages (http://www.torry.net)...magari puoi trovare qualcosa che faccia al caso tuo.
Una seconda alternativa potrebbe essere quella di sfruttare particolari funzionalità del driver della stampante: si tratterebbe di inviare alla stampante l'immagine del form a grandezza normale e ridimensionarlo attraverso le opzioni disponibili nelle Preferenze della stampante, anche se mi sembra un procedimento laborioso e forse inefficace.

Spero di esserti stato comunque d'aiuto.

Ciao!

Loading