Objeto Printer para usuarios de Visual Basic 6.0
Actualización: noviembre 2007
En Visual Basic 2008 el componente PrintDocument reemplaza al objeto Printer de Visual Basic 6.0. El comportamiento de ambos es considerablemente distinto, pero en la mayoría de los casos la funcionalidad se puede duplicar.
Diferencias conceptuales
En Visual Basic 6.0, la impresión se realiza creando un objeto Printer y utilizando los métodos gráficos de dibujo de texto y gráficos en una página virtual. Las propiedades y los métodos se usan para definir los atributos de impresora como DeviceName, PrintQuality o Copies; otras propiedades como Orientation y PaperSize definen atributos de la página. El método EndDoc envía el resultado a la impresora predeterminada de la aplicación según se define en la colección Printers.
En Visual Basic 2008, el objeto Printer ya no existe. En su lugar se utiliza un componente PrintDocument para definir los gráficos y texto, un objeto PrinterSettings para definir los atributos de la impresora y una clase PageSettings para definir los atributos de la página.
Nota: |
---|
Visual Basic 2008 tiene un objeto Printer que permite ejecutar el código actualizado de Visual Basic 6.0 Printer sin modificación alguna. Para cualquier nuevo desarrollo, debería usar PrintDocument. |
Imprimir ya no se asocia a un dispositivo concreto y el concepto de una impresora predeterminada para una aplicación ya no es válido. En su lugar, el método PrintPage del componente PrintDocument se puede utilizar para imprimir en cualquier dispositivo y la impresora predeterminada es para todo el sistema. Los componentes PrintDialog, PrintPreviewDialog y PageSetupDialog le permiten dejar que el usuario seleccione una impresora y las opciones de impresión en tiempo de ejecución.
ColorMode (Propiedad)
En Visual Basic 6.0, la propiedad ColorMode controla si el resultado se imprime en una impresora en blanco y negro o en color.
En Visual Basic 2008, ahora depende de la impresora exponer esta propiedad como una opción avanzada. La propiedad SupportsColor de la clase PrinterSettings se puede usar para determinar las funciones de color de una impresora.
DriverName (Propiedad)
En Visual Basic 6.0, la propiedad DriverName del objeto Printer se utiliza para especificar un controlador de impresora. En versiones anteriores de Windows y en MS-DOS, los controladores de impresora eran necesarios para traducir el resultado de un modo que cada marca y modelo específicos de impresora lo pudieran comprender. Cuando apareció Visual Basic 6.0, esta propiedad ya no era necesaria, pero se mantuvo por compatibilidad con versiones anteriores.
En Visual Basic 2008, la propiedad DriverName ya no existe; Windows administra los controladores de impresora y ya no es posible especificar controladores distintos.
hDC (Propiedad)
En Visual Basic 6.0, la propiedad hDC del objeto Printer especifica un identificador para un contexto de dispositivo (un vínculo entre una aplicación basada en Windows, un controlador de dispositivo y un dispositivo de salida como una impresora).
En Visual Basic 2008, la propiedad hDC ya no existe; una instancia de un componente PrintDocument es el equivalente de un contexto de dispositivo.
Nota: |
---|
Aunque los identificadores para los contextos de dispositivo ya no son necesarios, los objetos gráficos tienen métodos GetHdc y ReleaseHdc que se pueden utilizar en escenarios avanzados. |
Page (Propiedad)
En Visual Basic 6.0, la propiedad Page devuelve un recuento de páginas impresas desde que se inició la aplicación o desde la última vez que la instrucción EndDoc se utilizó en el objeto Printer. Esta propiedad se utiliza a menudo para agregar un número de página a cada página durante la impresión.
En Visual Basic 2008, no se realiza un seguimiento de números de página; sin embargo, puede mantener un recuento estableciendo una variable en el evento BeginPrint e incrementándola en el evento PrintPage.
Port (Propiedad)
En Visual Basic 6.0, la propiedad Port devuelve el nombre del puerto a través del cual se envía un documento a una impresora.
En Visual Basic 2008, la propiedad Port ya no existe; los controles PrintDialog y PrintPreviewDialog administran automáticamente la información del puerto.
RightToLeft (Propiedad)
En Visual Basic 6.0, la propiedad RightToLeft determina cómo el objeto Printer dará formato al resultado en una plataforma bidireccional, como Windows 95 en árabe o hebreo.
En Visual Basic 2008, la propiedad RightToLeft ya no es necesaria; la configuración de la localización controla la dirección de impresión en versiones posteriores de Windows.
TrackDefault (Propiedad)
En Visual Basic 6.0, la propiedad TrackDefault determina si el objeto Printer siempre señala a la misma impresora o si cambia la impresora a la que señala si se modifica la configuración de impresora predeterminada en el Panel de control del sistema operativo. Cambiar la configuración de la propiedad TrackDefault mientras un trabajo de impresión está en curso hace que la impresión se detenga inmediatamente.
En Visual Basic 2008, la propiedad TrackDefault ya no existe; la propiedad IsDefaultPrinter de la clase PrinterSettings se puede usar para determinar si una impresora es el valor predeterminado, pero ya no se detiene la impresión si cambia la impresora predeterminada.
Zoom (Propiedad)
En Visual Basic 6.0, la propiedad Zoom determina el porcentaje por el cual se aumenta o disminuye la impresión. Por ejemplo, tiene una página impresa tamaño carta, con el Zoom configurado en 50. Esta página contiene tantos datos como una página de 42 por 55 cm, porque el texto y los gráficos impresos en la página tamaño carta se reducen a la mitad de su alto y ancho originales.
En Visual Basic 2008, la propiedad Zoom ya no existe; si una impresora tiene las funciones de zoom, la configuración se expone automáticamente en el cuadro de diálogo Imprimir. También puede utilizar los métodos gráficos para escalar el resultado antes de asignarlo a un componente PrintDocument.
Propiedades y métodos de gráficos
En Visual Basic 6.0, las diversas propiedades y métodos de gráficos se pueden utilizar para dibujar líneas, formas y texto en un objeto Printer.
En Visual Basic 2008, la mayoría de los objetos ya no tiene sus propias propiedades o métodos de gráficos; todavía puede dibujar líneas, formas y texto creando y usando un objeto Graphics. Para obtener más información, vea Gráficos para usuarios de Visual Basic 6.0.
Cambios de código para objeto Printer
Debido a las diferencias considerables en los modelos de impresión entre Visual Basic 6.0 y Visual Basic 2008, una comparación de las técnicas de codificación tiene muy poco valor. Para obtener un ejemplo de cómo imprimir en Visual Basic 2008, vea Ejemplo Printing.
Equivalencias de propiedades y métodos para objeto Printer
En las siguientes tablas se enumeran propiedades y métodos de Visual Basic 6.0 junto con sus equivalentes en Visual Basic 2008. No se enumeran aquellas propiedades y métodos que tienen el mismo nombre y comportamiento. Salvo que se indique lo contrario, todas las enumeraciones de Visual Basic 2008 se asignan al espacio de nombres System.Windows.Forms.
Esta tabla proporciona vínculos a temas que explican las diferencias de comportamiento. Cuando no existe un equivalente directo en Visual Basic 2008, se proporcionan vínculos a temas en los que se incluyen alternativas.
Propiedades
Visual Basic 6.0 |
Equivalente en Visual Basic 2008 |
---|---|
ColorMode |
Nueva implementación. La propiedad SupportsColor de la clase PrinterSettings se puede usar para determinar las funciones de color de una impresora. |
Copies |
La propiedad Copies de la clase PrinterSettings. |
CurrentX CurrentY |
Nueva implementación. Para obtener más información, vea Gráficos para usuarios de Visual Basic 6.0. |
DeviceName |
La propiedad PrinterName de la clase PrinterSettings. |
DrawMode DrawStyle DrawWidth |
Nueva implementación. Para obtener información detallada, vea Gráficos para usuarios de Visual Basic 6.0. |
DriverName |
Nueva implementación. No es necesaria, Windows administra los controladores de impresora. |
Duplex |
La propiedad Duplex de la clase PrinterSettings. |
FillColor FillStyle |
Nueva implementación. Para obtener información detallada, vea Gráficos para usuarios de Visual Basic 6.0. |
Font FontBold FontCount FontItalic FontName Fonts FontSize FontStrikeThru FontTransparent FontUnderline |
Nueva implementación. Para obtener información detallada, vea Control de fuentes para usuarios de Visual Basic 6.0. |
ForeColor |
Nueva implementación. Para obtener información detallada, vea Control del color para usuarios de Visual Basic 6.0. |
hDC |
Ya no es necesaria. Una instancia de un componente PrintDocument equivale a un contexto de dispositivo. |
Height |
La propiedad PaperSize de la clase PageSettings. |
Orientation |
La propiedad Landscape de la clase PageSettings. |
Page |
Nueva implementación. No se hace un seguimiento del número de la página actual; sin embargo, puede hacerlo muy fácilmente estableciendo una variable en el evento BeginPrint e incrementándola en el evento PrintPage. |
PaperBin |
La propiedad PaperSources de la clase PrinterSettings. |
PaperSize |
La propiedad PaperSize de la clase PageSettings. |
Port |
Ya no es necesaria. El control PrintPreviewDialog configura automáticamente la información de puerto. |
PrintQuality |
La propiedad PrinterResolutions de la clase PrinterSettings. |
RightToLeft |
Ya no es necesaria. La configuración de las versiones traducidas de Windows controla la dirección de impresión. |
ScaleHeight ScaleLeft ScaleMode ScaleTop ScaleWidth |
Nueva implementación. Para obtener información detallada, vea Sistema de coordenadas para usuarios de Visual Basic 6.0. |
TrackDefault |
No hay equivalente directo La propiedad IsDefaultPrinter de la clase PrinterSettings se puede utilizar para determinar si una impresora es el valor predeterminado. |
TwipsPerPixelX TwipsPerPixelY |
Ya no es necesaria. Las medidas en Visual Basic 2005 siempre están en píxeles. |
Width |
La propiedad PaperSize de la clase PageSettings. |
Zoom |
Ya no es necesaria. Si la impresora tiene capacidades de zoom, la configuración se expone automáticamente en el cuadro de diálogo Imprimir. |
Métodos
Visual Basic 6.0 |
Equivalente en Visual Basic 2008 |
---|---|
Circle |
Nueva implementación. Para obtener más información, vea Gráficos para usuarios de Visual Basic 6.0. |
EndDoc |
|
KillDoc |
|
Line |
Nueva implementación. Para obtener más información, vea Gráficos para usuarios de Visual Basic 6.0. |
NewPage |
|
PaintPicture PSet |
Nueva implementación. Para obtener más información, vea Gráficos para usuarios de Visual Basic 6.0. |
Scale ScaleX ScaleY |
Nueva implementación. Para obtener información detallada, vea Sistema de coordenadas para usuarios de Visual Basic 6.0. |
TextHeight TextWidth |
Nueva implementación. Para obtener más información, vea Gráficos para usuarios de Visual Basic 6.0. |
Notas de la actualización
Cuando una aplicación de Visual Basic 6.0 se actualiza a Visual Basic 2008, todas las instancias del objeto Printer se actualizan al objeto Printer de Visual Basic 2008 .
Vea también
Tareas
Conceptos
Imprimir cambios para usuarios de Visual Basic 6.0
Gráficos para usuarios de Visual Basic 6.0