Bonjour
Question toute bête : comment permettre facilement l'impression, de ce qui se trouve sélectionné par exemple dans un RichEdit ?
En fouinant bien, j'ai trouvé ça dans l'aide en ligne de Delphi 7 [Printing, exemple] :
Cet exemple utilise une fiche contenant un bouton, un contrôle pages et une boîte de dialogue d'impression. Lorsque l'utilisateur clique sur le bouton, la boîte de dialogue d'impression est affichée. L'utilisateur peut sélectionner n'importe quel sous-ensemble de pages dans le contrôle de pages pour l'impression. Les pages sélectionnées sont alors imprimées.
Pour exécuter cet exemple, vous devez ajouter l'unité Printers à la clause uses de votre unité.Bien que regardant dans tous les sens le code, une chose m'échappe complètement ; pas moyen de trouver comment affecter mon RichEdit
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46 procedure TForm1.Button1Click(Sender:TObject); var I, Start, Stop: Integer; begin PrintDialog1.Options := [poPageNums, poSelection]; PrintDialog1.FromPage := 1; PrintDialog1.MinPage := 1; PrintDialog1.ToPage := PageControl1.PageCount; PrintDialog1.MaxPage := PageControl1.PageCount; if PrintDialog1.Execute then begin { détermine l'ensemble que l'utilisateur souhaite imprimer } with PrintDialog1 do begin if PrintRange = prAllPages then begin Start := MinPage - 1; Stop := MaxPage - 1; end else if PrintRange = prSelection then begin Start := PageControl1.ActivePage.PageIndex; Stop := Start; end else { PrintRange = prPageNums } begin Start := FromPage - 1; Stop := ToPage - 1; end; end; { imprime les pages maintenant } with Printer do begin BeginDoc; for I := Start to Stop do begin PageControl1.Pages[I].PaintTo(Handle, 10, 10); if I <> Stop then NewPage; end; EndDoc; end; end; end;
Mais je dois louper quelque chose
Je précise que je tiens à passer par un PrintDialog.
Si vous avez une idée, merci d'avance![]()
Partager