Compartir a través de


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

Print

KillDoc

Cancel

Line

Nueva implementación. Para obtener más información, vea Gráficos para usuarios de Visual Basic 6.0.

NewPage

HasMorePages

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

Ejemplo Printing

Conceptos

Imprimir cambios para usuarios de Visual Basic 6.0

Gráficos para usuarios de Visual Basic 6.0

Referencia

PageSettings

PrinterSettings

Otros recursos

Funcionalidad para imprimir en formularios Windows Forms