选择分类:当前分类——当前分类
本站推荐:
如何把窗体里的内容存为一个位图
文章长度[4863] 加入时间[2007/3/19] 更新时间[2025/10/13 7:17:30] 级别[0] [评论] [收藏]

cndigs.com掘客园--程序员的掘客网(发掘、推荐软件开发资源,分享、交流技术开发心得)  cndigs.com掘客园--程序员的掘客网(发掘、推荐软件开发资源,分享、交流技术开发心得) 
主  题: 如何把窗体里的内容存为一个位图
作  者: yimain
等  级:  
信 誉 值: 100
所属社区: VB API
问题点数: 100
回复次数: 9
发表时间: 2005-10-30 18:57:33
 
 
 
           

我在窗体中放了很多picture控件,现在我想把这个窗体的内容存为一张位图,包含已显示的picture控件在内的内容,未显示则不包含在内。或者可以指定包含那些控件。


          
yimain 残雪   信誉: 100 2005-10-30 18:58:51 得分:  0
 
                 

请问各位高手是否有方便快捷的方法?


                
Top 
szjhxu 天野   信誉: 99 2005-10-30 20:41:27 得分:  10
 
                 

可以用Alt+PrtSc来复制运行后的屏幕,然后到画图程序中粘贴.

哈,不知你要的是不是这样的.


                
Top 
northwolves 狼行天下   信誉: 125 2005-10-30 22:51:18 得分:  30
 
                 

Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal Scan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Private Const KEYEVENTF_KEYUP = &H2
Private Const VK_SNAPSHOT = &H2C
Private Const VK_MENU = &H12


Private Sub Form_Click()
If Dir("d:\123.bmp") > "" Then Kill "d:\123.bmp" '
Clipboard.Clear '清空剪切板
        keybd_event VK_MENU, 0, 0, 0
        keybd_event VK_SNAPSHOT, 0, 0, 0
        keybd_event VK_SNAPSHOT, 0, KEYEVENTF_KEYUP, 0
        keybd_event VK_MENU, 0, KEYEVENTF_KEYUP, 0 '复制到剪切板
SavePicture Clipboard.GetData, "d:\123.bmp" '另存为
Shell "mspaint.exe d:\123.bmp", vbNormalFocus '显示成果

End Sub

 

                
Top 
lxcy 猫   信誉: 80 2005-10-30 23:05:39 得分:  10
 
                 

得到窗体坐标,拷贝屏幕就可以了吧。


                
Top 
yimain 残雪   信誉: 100 2005-10-31 20:45:22 得分:  0
 
                 

上面的拷贝是连整个标题栏都拷下来,能不能只拷指定的区域?


                
Top 
yimain 残雪   信誉: 100 2005-10-31 20:46:42 得分:  0
 
                 

还有拷贝时是把所有显示的内容都拷贝了下来,能不能排除某些picture的内容不拷贝在内?


                
Top 
jack20042005    信誉: 100 2005-10-31 21:52:50 得分:  5
 
                 

 

                
Top 
rainstormmaster 暴风雨 v2.0   信誉: 234 2005-11-4 21:34:54 得分:  10
 
                 

//还有拷贝时是把所有显示的内容都拷贝了下来,能不能排除某些picture的内容不拷贝在内?

拷贝时你把不需要拷贝的控件设为隐藏,拷贝结束后恢复显示即可


                
Top 
fishmans 金脚指   信誉: 94 2005-11-5 3:54:02 得分:  35
 
                 

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

Private Sub Command1_Click()
picture1.autoredraw=true
  BitBlt Picture1.hDC, 0, 0, Me.ScaleWidth, Me.ScaleHeight, Me.hDC, 0, 0, vbSrcCopy
  savepicture picture1.image ,"d:\dd.bmp"
End Sub

 

1、 本站不保证以上观点正确,就算是本站原创作品,本站也不保证内容正确。
2、如果您拥有本文版权,并且不想在本站转载,请书面通知本站立即删除并且向您公开道歉! 以上可能是本站收集或者转载的文章,本站可能没有文章中的元件或产品,如果您需要类似的商品请 点这里查看商品列表!