![]() |
Vorschau beim PrintDialog in FMX
Hallo zusammen,
beim Aufruf eines Print-Dialogs (FMX.Printer.TPrintDialog) wird (in den aktuellen Delphi-Versionen) ein Fenster angezeigt, welches auf der rechten Seite ein Feld für die Vorschau des zu druckenden Dokuments enthält. Diese Feld ist jedoch leer und ich konnte bislang nirgends eine Information darüber finden, wie ich ein Objekt in diesem Feld anzeigen kann. Hat jemand von euch hierzu Erfahrungen oder kann mir Infos dazu geben? Ich bin für jeden Hinweis dankbar. |
AW: Vorschau beim PrintDialog in FMX
Ich nehme an, dass Du - wenn der Dialog angezeigt wird - auf "Einstellungen" klickst und dann den dort angezeigten Dialog (Windows) meinst (oder z.B. unter Linux dann Registerseite 2 "Einrichten"). Das sind alles die jeweiligen Dialoge des jeweiligen Systems.
Die angezeigten Mini-Seiten-Symbole sind meines Wissens nur Platzhalter, um die Größe und Ausrichtung der Seite anzuzeigen. Eine Vorschau da einzubinden ist - soweit mir bekannt nicht möglich. |
AW: Vorschau beim PrintDialog in FMX
Es könnte eventuell per Hook gehen, sprich auf das Zeichnen reagieren und die Vorschau dort einzeichnen. Das ist aber nicht mal eben so gemacht.
Ich habe leider aktuell nicht die Zeit, mir das genauer anzuschauen. Es interessiert mich allerdings. Per KI (ChatGPT) bekommt man durchaus entsprechenden Code, wenn man die API Funktion PrintDlg und das Einklinken für das Zeichnen der Vorschau via Hook erfragt. Ich konnte das aber nicht testen... |
AW: Vorschau beim PrintDialog in FMX
Erstmal kommt es auch darauf an, in welchem System dieser Dialog aufgeht.
Windows, Android, OSX, ... Für Windows landet es am Ende bei ![]() siehe TFMXDialogService.DialogPrint in FMX.Dialogs.Win.pas In der Doku sehe ich aber nicht, wie man dort ein Image übergeben könnte und eine Suche fand auf die Schnelle auch nichts. TPrintDialog selbst bietet auch nichts an. Da für die Anzeige auf das Printer-Handle zugegriffen wird, wäre ich mal auf die saublöde Idee gekommen, einfach was auf den Drucker-Canvas zu malen und auszuprobieren, ob man das dort sieht.
Delphi-Quellcode:
Aber schon beim BeginDoc geht hier vom PDF-Drucker sofort der Speichern-Dialog auf. :wall:
Printer.BeginDoc;
//Printer.NewPage; Printer.Canvas.DrawLine(PointF(0, 0), PointF(500, 500), 50); if TPrintDialog.Create(Self).Execute then ...; Printer.Abort; |
AW: Vorschau beim PrintDialog in FMX
Liste der Anhänge anzeigen (Anzahl: 1)
Ich habe mal zur Verdeutlichung einen Screenshot angehängt, wie das Fenster, welches beim Aufruf von TPrintDialog aufgeht, auf meinem System (Windows 11 / Delphi 11) aussieht. Es geht um das Objekt auf der rechten Seite, wo momentan der Text "keine Vorschau verfügbar" erscheint. Hier sollte normalerweise eine Vorschau des zu druckenden Dokuments erscheinen, wenn ich wüßte, wie man auf diese Vorschau zugreift.
Über ChatGPT und DeepSeek habe ich schon vergeblich versucht mir einen Code dazu generieren zu lassen. |
AW: Vorschau beim PrintDialog in FMX
Das ist wohl ein neuer, bzw. geänderter System-Dialog in Windows 11.
Habe den Eindruck, das ist eher noch experimentell, denn selbst eigene Anwendungen des Systems (Notepad, Paint) untersützen die Vorschau in diesem Dialog nicht. Denke daher, den Dialog kannst Du erst einmal vergessen, wenn Dein Programm im Druckdialog eine Vorschau haben soll, musst Du wohl selber einen passenden Dialog bauen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:26 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz