Picture比较长或宽,超出屏幕,用滚动条显示,怎么把这个Picture的内容,包括控件一起保存为图片。谢谢。

解决方案 »

  1.   

    Private Sub SaveToBMP_Click()
        Dim NameWithPath As String
        Dim PictureGetImg As FormMain
        On Error GoTo Cancel
        With CommonDialogBMP
            .CancelError = True
            .Filter = "Pictures (*.bmp)|*.bmp"
            .DefaultExt = "bmp"
            .InitDir = App.Path
            .FileName = "default"
            .DialogTitle = "定义保存当前窗口画面文件名"
            .Flags = cdlOFNOverwritePrompt
            .ShowSave
            NameWithPath = .FileName
            
        End With
        
        'If Trim(dir(NameWithPath)) = "" Then Exit Sub
        
        DoEvents
        keybd_event vbKeySnapshot, 1, 0, 0
        DoEvents
        'FormMain.Picture = Clipboard.GetData(vbCFBitmap)
        
        SavePicture Clipboard.GetData(vbCFBitmap), NameWithPath
        FormMain.Cls
        Clipboard.Clear
    Cancel:
        Err.Clear
    End Sub试试看咯
      

  2.   

    keybd_event是什么,试不出来。