Stampare un Controllo grafico posto sul Form
Da Gambas-it.org - Wikipedia.
Versione del 13 mag 2023 alle 06:56 di Vuott (Discussione | contributi)
Ogni Controllo (Oggetto) grafico, posto sul Form, è in definitiva una finestra inglobata nel Form medesimo.
Per stampare un Controllo grafico, è necessario individuare dunque il numero identificativo di tale Controllo, ossia della sua finestra, e passarlo alla Classe "DesktopWindow" del Componente "gb.desktop.x11".
Mostriamo un esempio pratico commentato, nel quale sul Form principale è posta una "GridView" che sarà dunque stampata.
E' necessario attivare i Componenti "gb.desktop.11" e "gb.desktop.x11".
Public Sub Form_Open() Dim r, c As Byte With GridView1 .Rows.Count = 5 .Columns.Count = 5 End With For r = 0 To 4 For c = 0 To 4 GridView1[r, c].Text = "abcde" Next Next End Public Sub Button1_Click() With Printer1 .Paper = .A4 .Resolution = Desktop.Resolution .Print End With End Public Sub Printer1_Draw() Dim dw As DesktopWindow Dim im As Image ' Individua la "finestra della "GridView" mediante il suo identificatore: With dw = New DesktopWindow(GridView1.Handle) ' Cattura l'immagine della "GridView": im = .GetScreenshot(True).Image End With With Paint .DrawImage(im, GridView1.X, GridView1.Y, GridView1.W, GridView1.H, 1.0, Null) .Fill .End End With End