AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Druck zu klein mit PaintTo

Ein Thema von Günter Dahlke · begonnen am 4. Mai 2007 · letzter Beitrag vom 8. Mai 2007
Antwort Antwort
Günter Dahlke

Registriert seit: 22. Okt 2003
3 Beiträge
 
Delphi 6 Personal
 
#1

Druck zu klein mit PaintTo

  Alt 4. Mai 2007, 16:46
D7PE PaintTo und F1. Dort erscheint ein Beispiel wie man PageControl
ausdrucken kann. Druckt leider nicht, ich mußte 5 Zeilen verschieben.
Jetzt erfolgt ein Ausdruck,aber sehr klein. Mit den vielen Beispielen
hier im Forum habe ich es nicht hinbekommen. Wer kann mir Tipps geben,
wie ich den Ausdruck größer bekomme. Es geht zwar bei mir um ein
StringGrid. Ich bekomme dort den Ausdruck komplett über mehere Seiten,
aber eben auch klein.

Viele Dank im Voraus

Günter

procedure TForm1.Button1Click(Sender: TObject);
var
I, Start, Stop: Integer;
begin
// Folgende 5 Zeilen in den Printdialog verschoben, da hier keine Funktion
{PrintDialog1.Options := [poPageNums, poSelection];
PrintDialog1.FromPage := 1;
PrintDialog1.MinPage := 1;
PrintDialog1.ToPage := PageControl1.PageCount;
PrintDialog1.MaxPage := PageControl1.PageCount; }

if PrintDialog1.Execute then
begin
PrintDialog1.Options := [poPageNums, poSelection];
PrintDialog1.FromPage := 1;
PrintDialog1.MinPage := 1;
PrintDialog1.ToPage := PageControl1.PageCount;
PrintDialog1.MaxPage := PageControl1.PageCount;

{ Ausgewählten Druckbereich ermitteln }
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;
{ Jetzt die Seiten drucken }
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;

end.
  Mit Zitat antworten Zitat
Benutzerbild von bitsetter
bitsetter

Registriert seit: 17. Jan 2007
1.169 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Druck zu klein mit PaintTo

  Alt 4. Mai 2007, 19:42
Moin Moin,

vor kurzem ging es um ein ähnliches Thema, allerdings um ein TGraphic.
Kann ja sein, dass dir dieser Beitrag etwas weiter hilft.
Problematisch kann es allerdings werden, wenn der Ausdruck über mehrere Seiten erfolgt.
Anstatt Printer.Canvas.Draw(iLeft, iTop, Graphic); müsste man dann wohl  PageControl1.Pages[I].PaintTo(Handle, 10, 10); schreiben.
Gruß bitsetter
"Viele Wege führen nach Rom"
Wolfgang Mocker (geb. 1954), dt. Satiriker und Aphoristiker
  Mit Zitat antworten Zitat
Günter Dahlke

Registriert seit: 22. Okt 2003
3 Beiträge
 
Delphi 6 Personal
 
#3

Re: Druck zu klein mit PaintTo

  Alt 8. Mai 2007, 12:10
Vielen Dank bitsetter für Deine Antwort.

Mit dem Austausch zu dieser Druckroutine
kommt der Ausdruck in Originalgröße.

[delphi]
{ Jetzt die Seiten drucken }
Printer.BeginDoc;
begin
for I := Start to Stop do
begin
SetMapMode( printer.canvas.handle, MM_ANISOTROPIC );
SetWindowExtEx(printer.canvas.handle,
GetDeviceCaps(canvas.handle, LOGPIXELSX),
GetDeviceCaps(canvas.handle, LOGPIXELSY),
Nil);
SetViewportExtEx(printer.canvas.handle,
GetDeviceCaps(printer.canvas.handle, LOGPIXELSX),
GetDeviceCaps(printer.canvas.handle, LOGPIXELSY),
Nil);
PageControl1.Pages[I].PaintTo( printer.canvas.handle, 10, 10 ); // Rand,oben,links
if I <> Stop then Printer.NewPage;
end;
Printer.EndDoc;
end;
end;
end;
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:23 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz