Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Delphi Gesamte Formular ausdrucken (https://www.delphipraxis.net/154391-gesamte-formular-ausdrucken.html)

Metallicwar 9. Sep 2010 08:55

Gesamte Formular ausdrucken
 
Hallo,
wie kann ich ein Formular ausdrucken, bei dem ein Teil außerhalb der Bildschirmanzeige liegt?
Momentan wird nur der sichtbare Bereich ausgedruckt, ich möchte aber alles.

SirThornberry 9. Sep 2010 08:58

AW: Gesamte Formular ausdrucken
 
Wie machst du es denn bisher?

Metallicwar 9. Sep 2010 09:04

AW: Gesamte Formular ausdrucken
 
einfach
Delphi-Quellcode:
Formular.Print
Das Formular erzeug ich erst zur Laufzeit.
Leider wird nur der sichtbare Bereich ausgedruckt.

stahli 9. Sep 2010 11:34

AW: Gesamte Formular ausdrucken
 
Ich habe mir da früher mal was gebastelt - finde es aber leider nicht mehr.

- Bitmap in Gesamtgröße erzeugt
- PaintBox über den Scrollbereich
- Scrollpositition auf 0,0
- Canvas der PaintBox in das Bitmap kopiert
- Scrollbereich nach rechts verschieben, Canvas wieder kopieren (bis Ende)
- ggf. Scrollbereich nach links und 1 "Zeile" tiefer
... so lange bis alles kopiert ist

Ob es bessere Lösungen gibt kann ich nicht sagen. Es hatte damals zumindest funktioniert.

Dann solltest Du Dir vielleicht nun doch ein Report-Tool anschauen. Ist sicher nicht schwieriger als o.g. Funktion zu bauen...

Metallicwar 9. Sep 2010 11:56

AW: Gesamte Formular ausdrucken
 
uff :)
Habe mir gedacht, des Problem ist schnell zu beheben, aber dass es keine passende Funktion gibt :o
Jetzte muss ich mir was einfallen lassen, muss das noch irgendwie wie morgen hinbekommen ^^

stahli 9. Sep 2010 11:58

AW: Gesamte Formular ausdrucken
 
Notlösung wäre: Bildschirmauflösung auf 2560*1600 :wink:

Metallicwar 9. Sep 2010 12:21

AW: Gesamte Formular ausdrucken
 
Wäre eine Notlösung, welche nicht wirklich gut ist^^.

Man man man, wieso gibt es ausgerechnet für dieses Problem, keine Funktion ... :cry:

blauweiss 9. Sep 2010 14:48

AW: Gesamte Formular ausdrucken
 
Hallo MetallicWar,

schau mal hier, das könnte Dir vielleicht helfen...:
http://www.delphipraxis.net/153575-s...ml#post1040436

Grüße,
blauweiss

Metallicwar 9. Sep 2010 15:26

AW: Gesamte Formular ausdrucken
 
Hallo,
ich nehme mal an du wolltest mich auf diesen Code hinweisen? Lieg ich richtig?
Delphi-Quellcode:
Mit folgender Routine kann man auch von unsichtbaren Formularen Screenshots erzeugen:

zusammenfalten · markieren
Delphi-Quellcode:
procedure PrintWindow(Wnd: HWND; ATo: TBitmap);
var
  hDCMem : HDC;
  DC : HDC;
  rect : TRect;
  bmp : HBITMAP;
  hOld : HGDIOBJ;
begin
  hDCMem:=CreateCompatibleDC(0);

  GetWindowRect(Wnd, rect);

  bmp:=0;

  DC:= GetDC(Wnd);
  bmp:= CreateCompatibleBitmap(DC, rect.Right-rect.Left, rect.Bottom-rect.Top);
  ReleaseDC(Wnd, DC);

  hOld:=SelectObject(hDCMem, bmp);
  SendMessage(wnd, wm_Print, hDCMem, PRF_CHILDREN or PRF_CLIENT or PRF_ERASEBKGND or PRF_NONCLIENT or PRF_OWNED);

  selectObject(hDCMem, hold);
  DeleteObject(hDCMem);

  ATo.FreeImage;
  ATo.Handle:=bmp;
end;
Und eben sagen, anstatt nen Screenshot vom Unsichtbaren zu machen soll er mir das unsichtbare auch noch mit ausdrucken?

blauweiss 9. Sep 2010 16:39

AW: Gesamte Formular ausdrucken
 
Zitat:

Zitat von Metallicwar (Beitrag 1048459)

Hallo,
ich nehme mal an du wolltest mich auf diesen Code hinweisen? Lieg ich richtig?

Delphi-Quellcode:
...
Und eben sagen, anstatt nen Screenshot vom Unsichtbaren zu machen soll er mir das unsichtbare auch noch mit ausdrucken?

Ja !8-)

Gruss blauweiss


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:05 Uhr.
Seite 1 von 2  1 2      

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