把圖片框的完整內(nèi)容復(fù)制到剪貼板
VB本身不允許你將一個(gè)Form、UserControl或PictureBox上的完整圖片復(fù)制到剪貼板。如果你使用Clipboard.SetData,將只復(fù)制被載入這個(gè)對(duì)象的位圖。通過使用API方法,你可以超越這個(gè)限制,保證全部?jī)?nèi)容都被復(fù)制,包括你剛剛畫上的任何圖形。
開始一個(gè)新項(xiàng)目,在窗體上放置一個(gè)Command和一個(gè)PictureBox。將PictureBox的Autoredraw屬性設(shè)為1。然后添加一個(gè)標(biāo)準(zhǔn)模塊,把以下代碼復(fù)制進(jìn)去。
Private Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type
’GDI函數(shù):
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 Const SRCCOPY = &HCC0020 ’ (DWORD) dest = source
’創(chuàng)建一個(gè)memory DC:
Declare Function CreateCompatibleDC Lib "gdi32" (ByVal hDC As Long) As Long
’在memory中建立一個(gè)位圖:
Declare Function CreateCompatibleBitmap Lib "gdi32" (ByVal hDC As Long, ByVal nWidth As Long, ByVal nHeight As Long) As Long
相關(guān)推薦:2010年9月計(jì)算機(jī)等級(jí)考試成績(jī)查詢時(shí)間匯總
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |