在VB程序中怎么保存当前屏幕到内存中?

dusj 2000-05-23 09:52:00
程序中怎么将当前屏幕放入内存,以及怎么将内存中的信息映射到屏幕上?
一定要用DirectDraw吗?
请给出完整的函数原型。thank you.
...全文
137 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Janven 2000-05-24
  • 打赏
  • 举报
回复
用API函数BitBlt ,GetDC 和ReleaseDC 即可

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
Declare Function GetDC Lib "user32" (ByVal hWnd As Long) As Long
Declare Function ReleaseDC Lib "user32" (ByVal hWnd As Long, ByVal hDC As Long) As Long



在窗体添加一个PicCopy的PictureBox和一个按纽
按纽中加入
Dim hDC As Long, intScrx As Integer, intScry As Integer
Me.Hide
DoEvents
picCopy.Width = Screen.Width
picCopy.Height = Screen.Height
picCopy.AutoRedraw = True
hDC = GetDC(0)
intScrx = Screen.Width \ Screen.TwipsPerPixelX
intScry = Screen.Height \ Screen.TwipsPerPixelY
BitBlt picCopy.hDC, 0, 0, intScrx , intScry , hDC, 0, 0, vbSrcCopy
ReleaseDC 0, hDC
picCopy.AutoRedraw = False

Me.Show

你当然可以还得VScroll来控制一下浏览整个图片框,这个自己编吧。

iwin 2000-05-24
  • 打赏
  • 举报
回复
利用Picture控件不行吗?

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧