Share via


Oggetto Printer per gli utenti di Visual Basic 6.0

Aggiornamento: novembre 2007

L'oggetto PropertyBag di Visual Basic 6.0 è stato sostituito in Visual Basic 2005 dal componente My.Settings. Anche se il comportamento dei due elementi è notevolmente differente, nella maggior parte dei casi la funzionalità dell'oggetto può essere riprodotta.

Differenze concettuali

In Visual Basic 6.0 la stampa viene eseguita creando un oggetto Printer e utilizzando i metodi grafici per disegnare il testo e le immagini in una pagina virtuale. Alcuni metodi e proprietà, quali DeviceName, PrintQuality o Copies, vengono utilizzati per definire gli attributi della stampante, mentre altre proprietà, quali Orientation e PaperSize, vengono utilizzate per definire gli attributi della pagina. Il metodo EndDoc consente di inviare l'output alla stampante predefinita dell'applicazione, come definito nell'insieme Printers.

L'oggetto Printer non esiste più in Visual Basic 2008. In alternativa è possibile utilizzare un componente PrintDocument per definire le immagini e il testo, un oggetto PrinterSettings per definire gli attributi della stampante e una classe PageSettings per definire gli attributi della pagina.

Nota:

Visual Basic 2008 include un oggetto Printer che consente di eseguire il codice Printer aggiornato di Visual Basic 6.0 senza modifiche. Per lo sviluppo di nuovo codice è invece consigliabile utilizzare PrintDocument.

Poiché la stampa non è più associata a una determinata periferica, il concetto di stampante predefinita di un'applicazione non è più valido. Il metodo PrintPage del componente PrintDocument può essere utilizzato per inviare la stampa a una qualsiasi periferica. Di conseguenza, la stampante predefinita è specificata a livello di sistema. Mediante i componenti PrintDialog, PrintPreviewDialog e PageSetupDialog è possibile consentire all'utente di selezionare una stampante e le opzioni di stampa in fase di esecuzione.

Proprietà ColorMode

In Visual Basic 6.0 la proprietà ColorMode viene utilizzata per specificare se l'output deve essere stampato in monocromia su una stampante a colori.

In Visual Basic 2008, invece, questa funzionalità è disponibile nelle opzioni avanzate della stampante. Per determinare se in una stampante è disponibile il supporto per la stampa a colori è possibile utilizzare la proprietà SupportsColor della classe PrinterSettings.

Proprietà DriverName

In Visual Basic 6.0 la proprietà DriverName dell'oggetto Printer viene utilizzata per specificare un driver della stampante. Nelle versioni precedenti di Windows e in MS-DOS i driver della stampante erano indispensabili per convertire l'output in un formato comprensibile da ciascun modello di stampante. Con l'introduzione di Visual Basic 6.0 questa conversione non era più necessaria, ma la proprietà era stata mantenuta per garantire la compatibilità con le versioni precedenti.

In Visual Basic 2008 la proprietà DriverName non esiste più. I driver della stampante vengono gestiti direttamente da Windows e non è più possibile specificare driver differenti.

Proprietà hDC

In Visual Basic 6.0 la proprietà hDC dell'oggetto Printer consente di specificare un handle per un contesto di periferica, ossia un collegamento tra un'applicazione basata su Windows, un driver di periferica e una periferica di output, ad esempio una stampante.

In Visual Basic 2008 la proprietà hDC non esiste più. Il ruolo del contesto di periferica viene svolto da un'istanza di un componente PrintDocument.

Nota:

Sebbene gli handle per i contesti di periferica non siano più necessari, negli scenari avanzati è possibile utilizzare i metodi GetHdc e ReleaseHdc degli oggetti grafici.

Proprietà Page

In Visual Basic 6.0 la proprietà Page restituisce il numero delle pagine stampate dall'avvio dell'applicazione o dall'ultimo utilizzo dell'istruzione EndDoc sull'oggetto Printer. Questa proprietà viene spesso utilizzata per aggiungere un numero di pagina a ciascuna pagina durante la stampa.

In Visual Basic 2008 non viene tenuta traccia del numero di pagina corrente. È tuttavia possibile controllare questo valore impostando una variabile nell’evento BeginPrint e incrementandola nell'evento PrintPage.

Proprietà Port

In Visual Basic 6.0 la proprietà Port restituisce il nome della porta utilizzata per inviare un documento a una stampante.

In Visual Basic 2008 la proprietà Port non esiste più. I controlli PrintDialog e PrintPreviewDialog, infatti, consentono di gestire automaticamente le informazioni relative alla porta.

Proprietà RightToLeft

In Visual Basic 6.0 la proprietà RightToLeft determina il modo in cui l'oggetto Printer deve formattare l'output su una piattaforma bidirezionale, ad esempio la versione in lingua araba o ebraica di Windows 95.

In Visual Basic 2008 la proprietà RightToLeft non è più necessaria. Nelle versioni più recenti di Windows la direzione della stampa viene controllata mediante le impostazioni di localizzazione.

Proprietà TrackDefault

In Visual Basic 6.0 la proprietà TrackDefault determina se l'oggetto Printer deve puntare sempre alla stessa stampante o se deve specificare un'altra stampante in caso di modifica dell'impostazione relativa alla stampante predefinita nel Pannello di controllo del sistema operativo. La modifica dell'impostazione della proprietà TrackDefault durante l'esecuzione di un processo di stampa causa l'interruzione immediata della stampa.

In Visual Basic 2008 la proprietà TrackDefault non esiste più. È possibile utilizzare la proprietà IsDefaultPrinter della classe PrinterSettings per determinare se una stampante è impostata come predefinita, ma la stampa non viene più interrotta in caso di modifica della stampante predefinita.

Proprietà Zoom

In Visual Basic 6.0 la proprietà Zoom determina la percentuale di ingrandimento o di riduzione da applicare all'output stampato. Ad esempio, una pagina in formato A4, stampata con la proprietà Zoom impostata su 50, contiene la stessa quantità di dati di una pagina in formato A2, poiché il testo e le immagini vengono stampati nella pagina in formato A4 con un'altezza e una larghezza pari alla metà delle dimensioni originali.

In Visual Basic 2008 la proprietà Zoom non esiste più. Se una stampante dispone di funzionalità di zoom, le impostazioni verranno visualizzate automaticamente nella finestra di dialogo Stampa. È anche possibile utilizzare metodi grafici per ridimensionare l'output prima di assegnarlo a un componente PrintDocument.

Proprietà e metodi grafici

In Visual Basic 6.0 è possibile utilizzare proprietà e metodi grafici per disegnare linee, forme e testo su un oggetto Printer.

In Visual Basic 2008 la maggior parte degli oggetti non dispone più di proprietà o metodi grafici specifici, ma è ancora possibile disegnare linee, forme e testo creando e utilizzando un oggetto Graphics. Per ulteriori informazioni, vedere Grafica per gli utenti di Visual Basic 6.0.

Modifiche del codice per l'oggetto Printer

A causa delle notevoli differenze nei modelli di stampa tra Visual Basic 6.0 e Visual Basic 2008, un confronto tra le tecniche di codifica non risulta di grande utilità. Per un esempio di modello di stampa in Visual Basic 2008, vedere Esempio di stampa.

Equivalenti dei metodi e delle proprietà per l'oggetto Printer

Nelle tabelle riportate di seguito sono elencati i metodi e le proprietà di Visual Basic 6.0, insieme ai rispettivi equivalenti di Visual Basic 2008. Nell'elenco non sono inclusi i metodi e le proprietà che hanno lo stesso nome e lo stesso comportamento. Se non diversamente specificato, tutte le enumerazioni Visual Basic 2008 sono mappate allo spazio dei nomi System.Windows.Forms.

In questa tabella vengono forniti collegamenti ad argomenti in cui sono illustrate le differenze di comportamento. Quando non è presente un equivalente diretto in Visual Basic 2008, vengono forniti collegamenti ad argomenti in cui sono illustrate le alternative disponibili.

Proprietà

Visual Basic 6.0

Equivalente in Visual Basic 2008

ColorMode

Nuova implementazione. Per determinare se in una stampante è disponibile il supporto per la stampa a colori è possibile utilizzare la proprietà SupportsColor della classe PrinterSettings.

Copies

Proprietà Copies della classe PrinterSettings.

CurrentX

CurrentY

Nuova implementazione. Per ulteriori informazioni, vedere Grafica per gli utenti di Visual Basic 6.0.

DeviceName

Proprietà PrinterName della classe PrinterSettings.

DrawMode

DrawStyle

DrawWidth

Nuova implementazione. Per informazioni dettagliate, vedere Grafica per gli utenti di Visual Basic 6.0.

DriverName

Nuova implementazione. Non più necessaria. I driver della stampante sono gestiti da Windows.

Duplex

Proprietà Duplex della classe PrinterSettings.

FillColor

FillStyle

Nuova implementazione. Per informazioni dettagliate, vedere Grafica per gli utenti di Visual Basic 6.0.

Font

FontBold

FontCount

FontItalic

FontName

Fonts

FontSize

FontStrikeThru

FontTransparent

FontUnderline

Nuova implementazione. Per informazioni dettagliate, vedere Gestione dei tipi di carattere per gli utenti di Visual Basic 6.0.

ForeColor

Nuova implementazione. Per informazioni dettagliate, vedere Gestione dei colori per gli utenti di Visual Basic 6.0.

hDC

Non più necessaria. Un'istanza di un componente PrintDocument equivale a un contesto di periferica.

Height

Proprietà PaperSize della classe PageSettings.

Orientation

Proprietà Landscape della classe PageSettings.

Page

Nuova implementazione. Non viene tenuta traccia del numero di pagina corrente. È tuttavia possibile controllare questo valore impostando una variabile nell'evento BeginPrint e incrementandola nell'evento PrintPage.

PaperBin

Proprietà PaperSources della classe PrinterSettings.

PaperSize

Proprietà PaperSize della classe PageSettings.

Port

Non più necessaria. Il controllo PrintPreviewDialog imposta automaticamente le informazioni relative alla porta.

PrintQuality

Proprietà PrinterResolutions della classe PrinterSettings.

RightToLeft

Non più necessaria. La direzione della stampa è controllata dalle impostazioni di localizzazione in Windows.

ScaleHeight

ScaleLeft

ScaleMode

ScaleTop

ScaleWidth

Nuova implementazione. Per informazioni dettagliate, vedere Sistema di coordinate per gli utenti di Visual Basic 6.0.

TrackDefault

Nessun equivalente diretto. Per determinare se una stampante è impostata come predefinita è possibile utilizzare la proprietà IsDefaultPrinter della classe PrinterSettings.

TwipsPerPixelX

TwipsPerPixelY

Non più necessaria. In Visual Basic 2005 le misure sono sempre espresse in pixel.

Width

Proprietà PaperSize della classe PageSettings.

Zoom

Non più necessaria. Se la stampante dispone di funzionalità di zoom, le impostazioni verranno visualizzate automaticamente nella finestra di dialogo Stampa.

Metodi

Visual Basic 6.0

Equivalente in Visual Basic 2008

Circle

Nuova implementazione. Per ulteriori informazioni, vedere Grafica per gli utenti di Visual Basic 6.0.

EndDoc

Print

KillDoc

Cancel

Line

Nuova implementazione. Per ulteriori informazioni, vedere Grafica per gli utenti di Visual Basic 6.0.

NewPage

HasMorePages

PaintPicture

PSet

Nuova implementazione. Per ulteriori informazioni, vedere Grafica per gli utenti di Visual Basic 6.0.

Scale

ScaleX

ScaleY

Nuova implementazione. Per informazioni dettagliate, vedere Sistema di coordinate per gli utenti di Visual Basic 6.0.

TextHeight

TextWidth

Nuova implementazione. Per ulteriori informazioni, vedere Grafica per gli utenti di Visual Basic 6.0.

Note sull'aggiornamento

Quando si aggiorna un'applicazione da Visual Basic 6.0 a Visual Basic 2008, tutte le istanze dell’oggetto Printer vengono aggiornate all’oggetto Printer di Visual Basic 2008.

Vedere anche

Attività

Esempio di stampa

Concetti

Modifiche alla stampa per gli utenti di Visual Basic 6.0

Grafica per gli utenti di Visual Basic 6.0

Riferimenti

PageSettings

PrinterSettings

Altre risorse

Supporto per la stampa in Windows Form