Impression (C++)

De RAD Studio
Aller à : navigation, rechercher

Remonter à Utilisation de la VCL/RTL (C++)

Pour obtenir une liste des imprimantes installées et disponibles, utilisez la propriété Printers. Une instance de la classe TPrinter utilise un TCanvas (identique au TCanvas de la fiche), ce qui signifie que tout ce qui peut être dessiné sur une fiche peut aussi bien être imprimé. Pour imprimer une image, appelez la méthode BeginDoc, suivie de n'importe quel canevas graphique à imprimer (en incluant du texte avec la méthode TextOut), et envoyez le travail à l'imprimante en appelant la méthode EndDoc.

Exemple

L'exemple suivant utilise un bouton et un mémo sur une fiche. Quand l'utilisateur clique sur le bouton, le contenu du mémo s'imprime avec une bordure de 200 pixels autour de la page. Pour exécuter cet exemple avec succès, incluez <Printers.hpp> dans votre fichier unité.

 void __fastcall TForm1::Button1Click(TObject *Sender) {
 	TPrinter *Prntr = Printer();
 	TRect r = Rect(200, 200, Prntr->PageWidth - 200, Prntr->PageHeight - 200);
 	Prntr->BeginDoc();
 	for (int i = 0; i < Memo1->Lines->Count; i++)
 		Prntr->Canvas->TextOut(200,
 			200 + (i * Prntr->Canvas->TextHeight(Memo1->Lines->Strings[i])),
 			Memo1->Lines->Strings[i]);
 	Prntr->Canvas->Brush->Color = clBlack;
 	Prntr->Canvas->FrameRect(r);
 	Prntr->EndDoc();
 }