Differenze tra le versioni di "Stampare un Controllo grafico posto sul Form"

Da Gambas-it.org - Wikipedia.
Riga 36: Riga 36:
 
   Dim im As Image
 
   Dim im As Image
 
    
 
    
  <FONT Color=gray>' ''Individua la "finestra della "GridView" mediante il fuo identificatore:''</font>
+
  <FONT Color=gray>' ''Individua la "finestra della "GridView" mediante il suo identificatore:''</font>
 
   With dw = New DesktopWindow(GridView1.Handle)
 
   With dw = New DesktopWindow(GridView1.Handle)
 
  <FONT Color=gray>' ''Cattura l'immagine della "GridView":''</font>
 
  <FONT Color=gray>' ''Cattura l'immagine della "GridView":''</font>

Versione delle 06:13, 13 mag 2023

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 il Componente "gb.desktop.11".

 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