如何把datagrid控件内容保存为图片

解决方案 »

  1.   

    Private Declare Function BitBlt   Lib   "gdi32"   Alias   "BitBlt"   (ByVal   hDestDC   As   Long,   ByVal   x   As   Long,   ByVal   y   As   Long,   ByVal   nWidth   As   Long,   ByVal   nHeight   As   Long,   ByVal   hSrcDC   As   Long,   ByVal   xSrc   As   Long,   ByVal   ySrc   As   Long,   ByVal   dwRop   As   Long)   As   Long   
        
    Picture1.AutoRedraw = True
    DoEvents
    BitBlt Picture1.hdc, 0, 0, MSFlexGrid1.Width, MSFlexGrid1.Height, GetDC(MSFlexGrid1.hwnd), 0, 0, vbSrcCopy
    Picture1.Refresh
    SavePicture Picture1.Image, "c:\111.jpg"
      

  2.   

    没有定义,你就添加定义啊
    Public Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long
      

  3.   

    Private Declare Function PrintWindow Lib "user32" (ByVal Hwnd As Long, ByVal HDC As Long, ByVal nFlags As Long) As Long
    Private Sub Command1_Click()
       Picture1.AutoRedraw = True: Picture1.BorderStyle = 0
       Picture1.Width = DataGrid1.Width: Picture1.Height = DataGrid1.Height
       PrintWindow DataGrid1.Hwnd, Picture1.HDC, 0
       SavePicture Picture1.Image, "c:\111.bmp" 'Savepicture只能保存为.bmp,另使用GDI才可保存为.jpg
    End Sub
      

  4.   

    楼上各位,至于动用API么?DataGrid1有个属性CaptureImagePicture1.Picture = DataGrid1.CaptureImage
    SavePicture Picture1.Image, "c:\111.bmp"