hi, ich bins nochmal, nachdem ein eines Problem jetzt behoben ist, stehe ich jetzt schon wider auf dem Schlauch
Ich habe einen Richtext, der in bestimmten zeilen eine andere Schriftgrösse hat, wie in anderen. Dies möchte ich jetzt aber 1 zu 1 zu Papier bringen, und nicht alles in 11 wie in meinem code
Hier der Druck code, den ich verwände:
Delphi-Quellcode:
procedure TForm3.Button1Click(Sender: TObject);
var Lines: Integer;
LineHeight: Integer;
ActMemoLine: Integer;
Pages: Integer;
PageLine: Integer;
begin
if PrintDialog1.Execute then begin
Printer.BeginDoc;
Printer.Canvas.Font.Name := 'Arial';
Printer.Canvas.Font.Size := 11;
Lines := Printer.PageHeight div Printer.Canvas.TextHeight('Dummy');
LineHeight := Printer.Canvas.TextHeight('Dummy');
ActMemoLine := 0;
for Pages := 1 to (RichEdit1.Lines.Count div Lines) + 1 do
begin
for PageLine := 0 to Lines - 1 do
begin
if ActMemoLine < RichEdit1.Lines.Count then
begin
Printer.Canvas.TextOut(150, PageLine * LineHeight + 150, Richedit1.Lines[ActMemoLine]);
end
else
begin
Printer.EndDoc;
exit;
end;
Inc(ActMemoLine);
end;
if ActMemoLine < Richedit1.Lines.Count then
Printer.NewPage;
end;
Printer.EndDoc;
end;
end;
Wo muss ich jetzt zeilen löschen, und neue einfügen, damit er die schriftgrössen der zeilen übernimt?
Danke im Voraus
MfG
Power-Poler