Private Const WM_PRINT As Integer = &H317 Private Const PRF_CLIENT As Integer = &H4 Private Const PRF_CHILDREN As Integer = &H10 Public Function PrintControl(ByVal Ctrl As System.Windows.Forms.Control) As System.Drawing.Bitmap Dim bmp As System.Drawing.Bitmap = Nothing Dim gr As System.Drawing.Graphics = Nothing Dim hdc As IntPtr = IntPtr.Zero Try bmp = New System.Drawing.Bitmap(Ctrl.ClientRectangle.Width, Ctrl.ClientRectangle.Height, Ctrl.CreateGraphics()) gr = Graphics.FromImage(bmp) hdc = gr.GetHdc() Dim wParam As IntPtr = hdc Dim lParam As IntPtr = New IntPtr(PRF_CLIENT Or PRF_CHILDREN) Dim msg As System.Windows.Forms.Message = System.Windows.Forms.Message.Create(Ctrl.Handle, WM_PRINT, wParam, lParam) MyBase.WndProc(msg) Catch Finally If Not gr Is Nothing Then If hdc <> IntPtr.Zero Then gr.ReleaseHdc(hdc) gr.Dispose() End If End Try Return bmp End Function
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.