1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
|
Public Declare Function CreateCompatibleDC Lib "gdi32" Alias "CreateCompatibleDC" (ByVal hdc As Long) As Long
Public Declare Function OpenClipboard Lib "user32" Alias "OpenClipboard" (ByVal hwnd As Long) As Long
Public Declare Function GetClipboardData Lib "user32" Alias "GetClipboardDataA" (ByVal wFormat As Long) As Long
Public Declare Function SelectObject Lib "gdi32" Alias "SelectObject" (ByVal hdc As Long, ByVal hObject As Long) As Long
Public Declare Function GetClientRect Lib "user32" Alias "GetClientRect" (ByVal hwnd As Long, lpRect As RECT) As Long
Public Declare Function BitBlt Lib "gdi32" Alias "BitBlt" (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
Public Declare Function CloseClipboard Lib "user32" Alias "CloseClipboard" () As Long
Public Declare Function DeleteDC Lib "gdi32" Alias "DeleteDC" (ByVal hdc
As Long) As Long
Public Const CF_BITMAP = 2
Public Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type
'...................
Dim hdc As Long
Dim hdcMem As Long
Dim hbm As Long 'HBitmap
Dim rc As RECT
hdcMem = CreateCompatibleDC(hdc)
If hdcMem<>0 Then
if OpenClipboard Me.Hwnd Then
hbm=GetClipboardData CF_BITMAP
SelectObject hdcMem, hbm
GetClientRect Me.Hwnd,rc
BitBlt hdc, 0, 0, rc.right, rc.bottom,
hdcMem, 0, 0, SRCCOPY
CloseClipboard
End If
DeleteDC hdcMem
End If |
Partager