Bonjour,

Je veux écrire plusieurs textes avec des fonts different (et avec des largeurs different) sur le Form principale. Puis, je veux imprimer cela exactement comme il apparait sur le Form.


Jai essayé le code desous, mais le resultat imprimé n'est pas le meme que ce q'on voit sur l'écran.

J'utilise TPrinter. Les fonts different sont definie par deux TFont dialogues.


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
 
 TPrinter *Prntr;     
 Prntr = Printer();
 
 
 Label1->Font = FontDialog1->Font;          // écrire sur l'écran.  
 Label1->Caption  = "Bonjour";
 Label1->Left = 10;
 Label1->Top = 10;
 
 Label2->Font = FontDialog2->Font;
 Label2->Caption  = "Blablabla";
 Label2->Left = 50;
 Label2->Top = 50;
 
 
 
 Prntr->BeginDoc();                         // écrire sur Printer Canvas
 
   Prntr->Canvas->Font = FontDialog1->Font;
   Prntr->Canvas->TextOut(10,10,"Bonjour");
 
   Prntr->Canvas->Font = FontDialog2->Font;
   Prntr->Canvas->TextOut(50,50,"Blablabla");
 
 Prntr->EndDoc();
Quelqu'un a une idee comment il faut le faire ?
Merci en avance.