AGB  ·  Datenschutz  ·  Impressum  







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

Gesamte Formular ausdrucken

Ein Thema von Metallicwar · begonnen am 9. Sep 2010 · letzter Beitrag vom 10. Sep 2010
Antwort Antwort
Seite 1 von 2  1 2      
Metallicwar

Registriert seit: 5. Feb 2010
Ort: Bad Kissingen
293 Beiträge
 
Delphi XE Architect
 
#1

Gesamte Formular ausdrucken

  Alt 9. Sep 2010, 09:55
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.
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#2

AW: Gesamte Formular ausdrucken

  Alt 9. Sep 2010, 09:58
Wie machst du es denn bisher?
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Metallicwar

Registriert seit: 5. Feb 2010
Ort: Bad Kissingen
293 Beiträge
 
Delphi XE Architect
 
#3

AW: Gesamte Formular ausdrucken

  Alt 9. Sep 2010, 10:04
einfach Formular.Print Das Formular erzeug ich erst zur Laufzeit.
Leider wird nur der sichtbare Bereich ausgedruckt.
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.343 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Gesamte Formular ausdrucken

  Alt 9. Sep 2010, 12:34
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...
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Metallicwar

Registriert seit: 5. Feb 2010
Ort: Bad Kissingen
293 Beiträge
 
Delphi XE Architect
 
#5

AW: Gesamte Formular ausdrucken

  Alt 9. Sep 2010, 12:56
uff
Habe mir gedacht, des Problem ist schnell zu beheben, aber dass es keine passende Funktion gibt
Jetzte muss ich mir was einfallen lassen, muss das noch irgendwie wie morgen hinbekommen ^^
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.343 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Gesamte Formular ausdrucken

  Alt 9. Sep 2010, 12:58
Notlösung wäre: Bildschirmauflösung auf 2560*1600
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Metallicwar

Registriert seit: 5. Feb 2010
Ort: Bad Kissingen
293 Beiträge
 
Delphi XE Architect
 
#7

AW: Gesamte Formular ausdrucken

  Alt 9. Sep 2010, 13:21
Wäre eine Notlösung, welche nicht wirklich gut ist^^.

Man man man, wieso gibt es ausgerechnet für dieses Problem, keine Funktion ...
  Mit Zitat antworten Zitat
blauweiss

Registriert seit: 19. Jun 2007
142 Beiträge
 
#8

AW: Gesamte Formular ausdrucken

  Alt 9. Sep 2010, 15:48
Hallo MetallicWar,

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

Grüße,
blauweiss
  Mit Zitat antworten Zitat
Metallicwar

Registriert seit: 5. Feb 2010
Ort: Bad Kissingen
293 Beiträge
 
Delphi XE Architect
 
#9

AW: Gesamte Formular ausdrucken

  Alt 9. Sep 2010, 16:26
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?
  Mit Zitat antworten Zitat
blauweiss

Registriert seit: 19. Jun 2007
142 Beiträge
 
#10

AW: Gesamte Formular ausdrucken

  Alt 9. Sep 2010, 17:39

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

... Und eben sagen, anstatt nen Screenshot vom Unsichtbaren zu machen soll er mir das unsichtbare auch noch mit ausdrucken?
Ja !

Gruss blauweiss
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 18:30 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