L'impression sous visual basic 6.0


précédentsommairesuivant

III. L'objet printer à terre

En lui-même, cet objet est très simple. Il est membre de la collection Printers, qui représente l'ensemble des imprimantes disponibles sur le système.

Regardons d'abord ses propriétés en les rangeant en deux catégories. Celles que l'on utilise en configuration, et celles dont on se sert au cours de l'impression.

La notation (RcdImp) signifie qu'on valorise la propriété en général lors de la récupération de la boite de dialogue impression. Cette liste n'est pas exhaustive.

N.B. Dans cet article nous utiliserons le terme méthode graphique pour toutes les impressions qui ne sont pas du texte. (Ex. : Circle, Line, PaintPicture…)

Configuration

  • ColorMode : Définit si une imprimante couleur imprime ou non en couleur.
  • Copies (RcdImp) : Nombre de copies
  • Duplex : Impression recto verso
  • Height, Width : Servent à connaître les dimensions de la feuille. Utilisez-les seulement en lecture, afin de ne pas modifier la propriété PaperSize implicitement, ce qui risquerait de provoquer une erreur.
  • Orientation (RcdImp) : Portrait ou paysage.
  • PaperSize : Taille du papier. Dans cet article, tout sera construit autour du format A4.
  • PrintQuality : Qualité de l'impression, va de brouillon à haute.
  • ScaleMode : Unité de l'échelle. Par habitude j'utilise toujours 6 - Millimeter. Cette propriété est très importante, car elle va permettre de contrôler la position exacte de l'impression. Il est donc fortement conseillé de la définir au début et de ne plus la modifier.
  • ScaleLeft, ScaleTop, ScaleHeight, ScaleWidth, sont des propriétés utilisées pour connaître la zone imprimable, comme nous le verrons dans les exemples.

Impression

  • DrawMode, DrawStyle, DrawWidth sont des propriétés de traçage des méthodes graphiques telles que l'épaisseur du trait, pointillés, etc.
  • FillColor et FillStyle sont des propriétés de remplissage des méthodes graphiques.
  • Font, FontBold, FontItalic, FontStrikethru, FontUnderline, FontSize, FontName sont les propriétés de police du texte.
  • CurrentX, CurrentY sont les propriétés de position d'impression. Elles définissent le coin supérieur gauche du début de l'impression. Elles sont fondamentales à l'écriture d'un gestionnaire d'impression réussie, mais j'y reviendrai largement dans la deuxième partie. CurrentX augmente de la gauche vers la droite, et CurrentY du haut vers le bas.

Nous allons voir maintenant les méthodes, celles-ci s'utilisent toujours au cours de l'impression.

  • printer.Circle [Step] (x, y), radius, [color, start, end, aspect]
    Trace un cercle, un arc de cercle ou une ellipse. Le mot clé Step précise si les coordonnées du centre sont relatives (à la position currentX, currentY) ou absolu ; color permet de forcer une couleur différente de celle définit dans FillColor ; start, end servent pour les arcs, et aspect pour définir s'il s'agit d'un cercle ou d'une ellipse.
  • printer.Line [Step] (x1, y1) [Step] - (x2, y2), [color], [B][F]
    Trace une ligne ou un rectangle. Le premier mot clé Step définit si les coordonnées (x1, y1) sont relatives au point (currentX, currentY) le deuxième si les coordonnées (x2, y2) sont relatives au point (x1, y1). [B] annonce le tracé d'un rectangle en fonction des coordonnées. [F] annonce que ce rectangle est rempli par la même couleur que le contour. S'il est omis, le rectangle est rempli selon les valeurs des propriétés FillStyle et FillMode.
    N.B : Les propriétés CurrentX et currentY prennent les coordonnées (x2, y2) après le tracé de la ligne.
  • printer.PSet [Step] (x, y), [color]
    Trace un point dont la taille est définie par la propriété DrawMode.
  • printer.PaintPicture picture, x, y
    Imprime un graphique. Picture doit correspondre à la propriété picture d'un PictureBox, d'une form ou d'un objet particulier. (Nous verrons cela plus loin).
  • TextHeight et TextWidth permettent de déterminer la hauteur ou la largeur dans le système d'unités ScaleMode. Elle attend la chaîne à imprimer en paramètre.
  • EndDoc met fin au travail d'impression et envoie le document vers le périphérique.
  • KillDoc annule l'impression en cours, rien n'est envoyé au périphérique.
  • NewPage avance jusqu'à la page suivante de l'imprimante et redéfinit la position d'impression dans l'angle supérieur gauche de la nouvelle page, elle incrémente de 1 la propriété Page.

    Attention après l'appel de méthode, il n'est plus possible de modifier ou de revenir sur la page précédente.

    Nous allons voir maintenant les méthodes, celles-ci s'utilisent toujours au cours de l'impression.

  • Scale, ScaleX et ScaleY permettent de redéfinir le système d'échelle.

Et enfin la méthode Print. Elle est bizarrement documentée. Pour trouver comment elle fonctionne, il faut rechercher « printer.print » dans l'aide, car vous ne la trouverez pas dans les méthodes de l'objet printer(??). Pour vous éviter cette recherche son modèle est le suivant :
[object.]Print [outputlist] [{ ; | , }]
outputlist contient donc une liste de chaînes séparées par des' ,' ou des ';' .
Sachez enfin qu'elle provoque une erreur si elle est placée dans un bloc With.

L'objet printer ne gère pas d'événement.

Comme vous le voyez, il n'y a pas beaucoup de propriétés et de méthodes, et pourtant nous allons réaliser des impressions complètes avec uniquement cet objet.


précédentsommairesuivant

Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants : Viadeo Twitter Facebook Share on Google+   

  

Copyright © 2002 bidou. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.