Partager via


Objet imprimante pour les utilisateurs de Visual Basic 6.0

Mise à jour : novembre 2007

L'objet Printer dans Visual Basic 6.0 est remplacé par le composant PrintDocument dans Visual Basic 2008. Son comportement est très différent, mais dans la plupart des cas, la fonctionnalité peut être dupliquée.

Différences conceptuelles

Dans Visual Basic 6.0, l'impression s'effectue en créant un objet Printer et en utilisant des méthodes graphiques qui permettent de dessiner du texte et des éléments graphiques sur une page virtuelle. Les propriétés et les méthodes sont utilisées pour définir des attributs d'impression tels que DeviceName, PrintQuality ou Copies ; d'autres propriétés, telles que Orientation et PaperSize définissent des attributs de la page proprement dite. La méthode EndDoc envoie la sortie vers l'imprimante par défaut pour l'application, définie dans la collection Printers.

Dans Visual Basic 2008, l'objet Printer n'existe plus. À la place, vous utilisez un composant PrintDocument pour définir les éléments graphiques et le texte, un objet PrinterSettings pour définir des attributs d'imprimante, et une classe PageSettings pour définir des attributs de page.

Remarque :

Visual Basic 2008 a un objet Printer qui permet d'exécuter sans modification le code Printer Visual Basic 6.0 mis à niveau. Pour tout nouveau développement, vous devez utiliser PrintDocument.

L'impression n'est plus rattachée à un périphérique spécifique, et le concept d'une imprimante par défaut pour une application n'est plus valide. Au lieu de cela, la méthode PrintPage du composant PrintDocument permet d'imprimer sur n'importe quel périphérique, et l'imprimante par défaut est valide à l'échelle du système. Les composants PrintDialog, PrintPreviewDialog et PageSetupDialog vous permettent de laisser à l'utilisateur le choix de l'imprimante et des options d'impression au moment de l'exécution.

Propriété ColorMode

Dans Visual Basic 6.0, la propriété ColorMode spécifie si la sortie s'imprime en monochrome sur une imprimante couleur.

Dans Visual Basic 2008, il appartient désormais à l'imprimante d'exposer cela en tant qu'option avancée. La propriété SupportsColor de la classe PrinterSettings permet de déterminer les capacités couleur d'une imprimante.

Propriété DriverName

Dans Visual Basic 6.0, la propriété DriverName de l'objet Printer permet de spécifier un pilote d'imprimante. Dans les premières versions de Windows, et dans MS-DOS, les pilotes d'imprimante étaient nécessaires pour traduire une sortie de manière que chaque marque et modèle d'imprimante spécifiques puisse la comprendre. Si l'avènement de Visual Basic 6.0 a rendu cette fonctionnalité complètement superflue, la propriété a été conservée à des fins de compatibilité descendante.

Dans Visual Basic 2008, la propriété DriverName n'existe plus ; les pilotes d'imprimante sont gérés par Windows et vous ne pouvez plus spécifier de pilotes distincts.

Propriété HDC

Dans Visual Basic 6.0, la propriété hDC de l'objet Printer spécifie un handle d'un contexte de périphérique (Device Context) (un lien entre une application Windows, un pilote de périphérique et un périphérique de sortie, tel qu'une imprimante).

Dans Visual Basic 2008, la propriété hDC n'existe plus ; une instance d'un composant PrintDocument est l'équivalent d'un contexte de périphérique (Device Context).

Remarque :

Bien que les handles de contextes de périphérique (Device Context) ne soient plus nécessaires, les objets graphiques disposent de méthodes GetHdc et ReleaseHdc qui peuvent s'utiliser dans les scénarios avancés.

Propriété Page

Dans Visual Basic 6.0, la propriété Page retourne un compte des pages imprimées depuis le démarrage de votre application ou depuis la dernière utilisation de l'instruction EndDoc sur l'objet Printer. Cette propriété est souvent utilisée pour numéroter chaque page lors de l'impression.

Dans Visual Basic 2008, les numéros de page ne sont pas suivis ; toutefois, vous pouvez facilement en assurer le suivi en définissant une variable dans l'événement BeginPrint et en l'incrémentant dans l'événement PrintPage.

Port, propriété

Dans Visual Basic 6.0, la propriété Port retourne le nom du port par lequel un document est envoyé à une imprimante.

Dans Visual Basic 2008, la propriété Port n'existe plus ; les contrôles PrintDialog et PrintPreviewDialog gèrent automatiquement les informations de port.

Propriété RightToLeft

Dans Visual Basic 6.0, la propriété RightToLeft détermine la manière dont l'objet Printer met en forme la sortie sur une plateforme bidirectionnelle, telle que la version arabe ou hébraïque de Windows 95.

Dans Visual Basic 2008, la propriété RightToLeft n'est plus nécessaire ; la direction de l'impression est contrôlée par les paramètres de localisation dans les versions ultérieures de Windows.

Propriété TrackDefault

Dans Visual Basic 6.0, la propriété TrackDefault détermine si un objet Printer pointe toujours sur la même imprimante, ou pointe vers une autre imprimante si vous modifiez le paramètre d'imprimante par défaut dans le Panneau de configuration du système d'exploitation. Modifier le paramétrage de la propriété TrackDefault en cours d'impression entraîne l'arrêt immédiat de cette tâche.

Dans Visual Basic 2008, la propriété TrackDefault n'existe plus ; la propriété IsDefaultPrinter de la classe PrinterSettings peut être utilisée pour déterminer si une imprimante est l'imprimante par défaut, mais l'impression n'est plus interrompue si l'imprimante par défaut est modifiée.

Propriété Zoom

Dans Visual Basic 6.0, la propriété Zoom détermine le pourcentage d'agrandissement ou de réduction de la sortie imprimée. Prenez par exemple une page de la taille lettre, imprimée avec une propriété Zoom de valeur 50. Cette page contient autant de données qu'une page au format 17 x 22 pouces, car le texte et les éléments graphiques imprimés sur la page de taille lettre ont pour échelle la moitié des valeurs de hauteur et largeur d'origine.

Dans Visual Basic 2008, la propriété Zoom n'existe plus ; si une imprimante propose des fonctions de zoom, les paramètres sont exposés automatiquement dans la boîte de dialogue Imprimer. Vous pouvez également utiliser des méthodes graphiques pour mettre la sortie à l'échelle avant de l'affecter à un composant PrintDocument.

Propriétés et méthodes graphiques

Dans Visual Basic 6.0, plusieurs propriétés et méthodes graphiques permettent de dessiner des lignes, des formes et du texte dans un objet Printer.

Dans Visual Basic 2008, la plupart des objets ne disposent plus de propriétés ni de méthodes graphiques propres ; vous pouvez encore tracer des lignes, des formes et du texte, en créant et en utilisant un objet Graphics. Pour plus d'informations, consultez Éléments graphiques pour les utilisateurs de Visual Basic 6.0.

Modifications apportées au code de l'objet Printer

En raison des différences considérables entre les modèles d'impression dans Visual Basic 6.0 et dans Visual Basic 2008, la comparaison des techniques de codage n'a que peu d'intérêt. Pour voir un exemple d'impression dans Visual Basic 2008, consultez Impression, exemple.

Équivalences des propriétés et des méthodes de l'objet Printer

Les tableaux ci-dessous répertorient les propriétés et les méthodes de Visual Basic 6.0, ainsi que leurs équivalents dans Visual Basic 2008. Les propriétés et les méthodes, qui ont des noms et des comportements identiques, ne sont pas répertoriées. Sauf indication contraire, toutes les énumérations Visual Basic 2008 sont mappées sur l'espace de noms System.Windows.Forms.

Ce tableau fournit des liens vers les rubriques qui expliquent des différences de comportement. Lorsqu'il n'existe pas d'équivalent direct dans Visual Basic 2008, des liens vous renvoient vers des rubriques proposant des alternatives.

Propriétés

Visual Basic 6.0

Équivalent Visual Basic 2008

ColorMode

Nouvelle implémentation. La propriété SupportsColor de la classe PrinterSettings permet de déterminer les capacités couleur d'une imprimante.

Copies

Propriété Copies de la classe PrinterSettings

CurrentX

CurrentY

Nouvelle implémentation. Pour plus d'informations, consultez Éléments graphiques pour les utilisateurs de Visual Basic 6.0.

DeviceName

Propriété PrinterName de la classe PrinterSettings

DrawMode

DrawStyle

DrawWidth

Nouvelle implémentation. Pour plus d'informations, consultez Éléments graphiques pour les utilisateurs de Visual Basic 6.0.

DriverName

Nouvelle implémentation. Plus nécessaire ; les pilotes d'imprimante sont gérés par Windows.

Duplex

Propriété Duplex de la classe PrinterSettings

FillColor

FillStyle

Nouvelle implémentation. Pour plus d'informations, consultez Éléments graphiques pour les utilisateurs de Visual Basic 6.0.

Font

FontBold

FontCount

FontItalic

FontName

Fonts

FontSize

FontStrikeThru

FontTransparent

FontUnderline

Nouvelle implémentation. Pour plus d'informations, consultez Gestion des polices pour les utilisateurs de Visual Basic 6.0.

ForeColor

Nouvelle implémentation. Pour plus d'informations, consultez Gestion des couleurs pour les utilisateurs de Visual Basic 6.0.

hDC

Plus nécessaire. Une instance d'un composant PrintDocument est l'équivalent d'un contexte de périphérique (Device Context).

Height

Propriété PaperSize de la classe PageSettings

Orientation

Propriété Landscape de la classe PageSettings

Page

Nouvelle implémentation. Le numéro de page actuel n'est pas suivi ; cependant, vous pouvez facilement en assurer le suivi en définissant une variable dans l'événement BeginPrint et en l'incrémentant dans l'événement PrintPage.

PaperBin

Propriété PaperSources de la classe PrinterSettings

PaperSize

Propriété PaperSize de la classe PageSettings

Port

Plus nécessaire. Le contrôle PrintPreviewDialog définit automatiquement les informations de port.

PrintQuality

Propriété PrinterResolutions de la classe PrinterSettings

RightToLeft

Plus nécessaire. La direction de l'impression est contrôlée par les paramètres de localisation de Windows.

ScaleHeight

ScaleLeft

ScaleMode

ScaleTop

ScaleWidth

Nouvelle implémentation. Pour plus d'informations, consultez Système de coordonnées pour les utilisateurs de Visual Basic 6.0.

TrackDefault

Pas d'équivalent direct. La propriété IsDefaultPrinter de la classe PrinterSettings permet de déterminer si une imprimante est l'imprimante par défaut.

TwipsPerPixelX

TwipsPerPixelY

Plus nécessaire. Dans Visual Basic 2005, les dimensions sont toujours exprimées en pixels.

Width

Propriété PaperSize de la classe PageSettings

Zoom

Plus nécessaire. Si l'imprimante dispose de fonctionnalités de zoom, les paramètres sont automatiquement exposés dans la boîte de dialogue Imprimer.

Méthodes

Visual Basic 6.0

Équivalent Visual Basic 2008

Circle

Nouvelle implémentation. Pour plus d'informations, consultez Éléments graphiques pour les utilisateurs de Visual Basic 6.0.

EndDoc

Print

KillDoc

Cancel

Line

Nouvelle implémentation. Pour plus d'informations, consultez Éléments graphiques pour les utilisateurs de Visual Basic 6.0.

NewPage

HasMorePages

PaintPicture

PSet

Nouvelle implémentation. Pour plus d'informations, consultez Éléments graphiques pour les utilisateurs de Visual Basic 6.0.

Scale

ScaleX

ScaleY

Nouvelle implémentation. Pour plus d'informations, consultez Système de coordonnées pour les utilisateurs de Visual Basic 6.0.

TextHeight

TextWidth

Nouvelle implémentation. Pour plus d'informations, consultez Éléments graphiques pour les utilisateurs de Visual Basic 6.0.

Mettre à niveau des remarques

Lorsqu'une application Visual Basic 6.0 est mise à niveau vers Visual Basic 2008, toutes les instances de l'objet Printer sont mises à niveau vers l'objet Printer de Visual Basic 2008.

Voir aussi

Tâches

Impression, exemple

Concepts

Modifications de l'impression pour les utilisateurs de Visual Basic 6.0

Éléments graphiques pour les utilisateurs de Visual Basic 6.0

Référence

PageSettings

PrinterSettings

Autres ressources

Prise en charge de l'impression dans les Windows Forms