Es wird Ihnen ein Projekt vorgestellt, mit dem Sie eine Bildschirm-Kopie anfertigen und sofort ausdrucken können. Genutzt wird ein Report, in den die Bildschirmkopie eingefügt wird. Das Drucken übernimmt das im Report existierende Druck-Modul. Dadurch wird der Quelltext kurz und sehr übersichtlich. Sie können im Dialog u.a. festlegen, ob Sie das Bild in Farbe oder in Graustufen ausdrucken möchten. Auch das Speichern der Bildschirm-Kopie als PDF-Datei ist möglich.
Kompletter Quelltext:
' Gambas class file ' Adaption: Hans Lehmann + Osterburg + 2021 Public Sub Form_Open() FMain.Center() FMain.Resizable = False End Public Sub btnMake_Click() Dim hScreenshotImage As Image Dim hReport As New Report Dim hReportLabel As New ReportLabel(hreport) Dim hReportImage As New ReportImage(hReport) '-- Ausdruck: DIN-A4-Querformat (Voreinstellung) hReport.Paper = Printer.A4 hreport.Orientation = Printer.Landscape hreport.Padding = ReportPadding["2 cm"] hReport.Spacing = "1 cm" hReportLabel.Text = "Druck einer Bildschirm-Kopie (Screenshot)" hReportLabel.Autoresize = True hReportLabel.Alignment = Align.Center hReportLabel.Font.Size = 24 '-- Das Programm-Fenster wird versteckt FMain.Hide() Wait 0.2 hScreenshotImage = Desktop.Screenshot().Image '-- Das Programm-Fenster wird wieder angezeigt FMain.Show() '-- Das ScreenshotImage wird in den Report eingefügt hReportImage.Image = hScreenshotImage hReportImage.Autoresize = True hReportImage.Stretch = Report.Proportional hReportImage.Expand = True '-- Vorschau des Reports ⇉ Druck-Dialog hReport.Preview() End
Abbildung 23.5.1: Druck-Dialog
Das Programm-Fenster zeigt nur einen Button:
Abbildung 23.5.2: Programm-Fenster
Abbildung 23.5.2: Programm-Fenster