A project is presented with which you can make a screen copy and print it out immediately. A report is used into which the screen copy is inserted. Printing is carried out by the print module in the report. This makes the source text short and very clear. Among other things, you can specify in the dialogue whether you want to print the screen in colour or greyscale. It is also possible to save the screen copy as a PDF file.
Complete source code:
' Gambas class file ' Adaption: Hans Lehmann + Osterburg + 2021/2024 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) '-- Printout: DIN A4 landscape format (default setting) hReport.Paper = Printer.A4 hreport.Orientation = Printer.Landscape hreport.Padding = ReportPadding["2 cm"] hReport.Spacing = "1 cm" hReportLabel.Text = "Printing a screen copy (screenshot)" hReportLabel.Autoresize = True hReportLabel.Alignment = Align.Center hReportLabel.Font.Size = 24 '-- The programme window is hidden FMain.Hide() Wait 0.2 hScreenshotImage = Desktop.Screenshot().Image '-- The programme window is displayed again FMain.Show() '-- The screenshot image is inserted into the report hReportImage.Image = hScreenshotImage hReportImage.Autoresize = True hReportImage.Stretch = Report.Proportional hReportImage.Expand = True '-- Print dialogue ⇉ Preview of the report hReport.Preview() End
Figure 23.5.1: Print dialogue
The programme window only shows one button:
Figure 23.5.2: Programme window
Chapter & Projects