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 |
|
KillDoc |
|
Line |
Nuova implementazione. Per ulteriori informazioni, vedere Grafica per gli utenti di Visual Basic 6.0. |
NewPage |
|
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à
Concetti
Modifiche alla stampa per gli utenti di Visual Basic 6.0
Grafica per gli utenti di Visual Basic 6.0