vb 一个难度的截屏问题,困饶了很久,很久

来源:百度知道 编辑:UC知道 时间:2024/05/22 20:15:25
我在窗体上有一个Picture1控件,在Picture1里面随意的放了一些shape和line控件,我想通过点击一下Command1控件,就能截取Picture1的画面(包括内容)放到Picture2中。想了很久,总找不到方法,网络上什么picture1.picture=Picture1.image都没有用,要不就是截取一大张满屏或窗口的图片,郁闷了,而且有时候Picture控件比窗体还大,这就郁闷了,不过先不想这个了,能在Picture控件比窗体小的情况下截取Picture控件的屏幕内容就满足了
有没有高手能提供点帮助啊,说下思路也行,API我才刚学,不怎么会用,但您要是嫌麻烦了,告诉我几个API我自己参考也行
谢谢各位了,能提供代码满分送

Private Declare Function BitBlt Lib "gdi32" (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

Const SRCCOPY = &HCC0020

Private Sub Command1_Click()

    Picture1.ScaleMode = 3

    Picture2.ScaleMode = 3

    Picture2.AutoRedraw = True

    Call BitBlt(Picture2.hDC, 0, 0, Picture1.ScaleWidth, Picture1.ScaleHeight, Picture1.hDC, 0, 0, SRCCOPY)

    Picture2.Refresh

End Su