专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > VB Dotnet

界面打印有关问题

发布时间:2011-06-23 15:59:39 文章来源:www.iduyao.cn 采编人员:星星草
界面打印问题
怎样打印窗体界面,急!!

------解决方案--------------------
Private Declare Function CreateCompatibleDC Lib "GDI32 " (ByVal hDC As Integer) As Integer
Private Declare Function CreateCompatibleBitmap Lib "GDI32 " (ByVal hDC As Integer, ByVal nWidth As Integer, ByVal nHeight As Integer) As Integer
Private Declare Function SelectObject Lib "GDI32 " (ByVal hDC As Integer, ByVal hObject As Integer) As Integer
Private Declare Function DeleteDC Lib "GDI32 " (ByVal hDC As Integer) As Integer
Private Declare Function DeleteObject Lib "GDI32 " (ByVal hObj As Integer) As Integer
Private Declare Function GetDC Lib "user32 " Alias "GetDC " (ByVal hwnd As Integer) As Integer
Private Declare Function BitBlt Lib "GDI32 " (ByVal srchDC As Integer, ByVal srcX As Integer, ByVal srcY As Integer, ByVal srcW As Integer, ByVal srcH As Integer, ByVal desthDC As Integer, ByVal destX As Integer, ByVal destY As Integer, ByVal op As Integer) As Integer
Private Const SRCCOPY As Integer = &HCC0020

Sub copysreen()
Try
Dim sw, sh As Integer
sw = Me.ClientRectangle.Width
sh = Me.ClientRectangle.Height

Dim hDC, hMDC As Integer
Dim hBMP, hBMPOld As Integer
hDC = GetDC(Me.Handle.ToInt32)
hMDC = CreateCompatibleDC(hDC)

hBMP = CreateCompatibleBitmap(hDC, sw, sh)
hBMPOld = SelectObject(hMDC, hBMP)
BitBlt(hMDC, 0, 0, sw, sh, hDC, 0, 0, SRCCOPY)
hBMP = SelectObject(hMDC, hBMPOld)
Dim Img As Image = Image.FromHbitmap(New IntPtr(hBMP))
Img.Save( "C:\Documents and Settings\zcjiang\Desktop\panel.bmp ")

DeleteDC(hDC)
DeleteDC(hMDC)
DeleteObject(hBMP)
Catch ex As Exception
MsgBox(ex.ToString)
End Try
End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
copysreen()
End Sub
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: