home *** CD-ROM | disk | FTP | other *** search
/ Planet Source Code Jumbo …e CD Visual Basic 1 to 7 / 4_2005-2006.ISO / data / Zips / TheTreeSur201216892006.psc / Bitmap.cls < prev    next >
Text File  |  2006-08-09  |  1KB  |  55 lines

  1. VERSION 1.0 CLASS
  2. BEGIN
  3.   MultiUse = -1  'True
  4.   Persistable = 0  'NotPersistable
  5.   DataBindingBehavior = 0  'vbNone
  6.   DataSourceBehavior  = 0  'vbNone
  7.   MTSTransactionMode  = 0  'NotAnMTSObject
  8. END
  9. Attribute VB_Name = "Bitmap"
  10. Attribute VB_GlobalNameSpace = False
  11. Attribute VB_Creatable = False
  12. Attribute VB_PredeclaredId = False
  13. Attribute VB_Exposed = False
  14. Option Explicit
  15.  
  16. Private hDC As Long
  17. Private hBmp As Long
  18. Private hBmpOld As Long
  19. Private W As Long, H As Long
  20.  
  21. Public Sub Create(ByVal NewW As Long, ByVal NewH As Long, ByVal hCompatibleDC As Long)
  22.     Destroy
  23.     
  24.     W = NewW
  25.     H = NewH
  26.     
  27.     hBmp = CreateCompatibleBitmap(hCompatibleDC, W, H)
  28.     hDC = CreateCompatibleDC(hCompatibleDC)
  29.     hBmpOld = SelectObject(hDC, hBmp)
  30.     
  31.     'ODS "Bitmap::Create(%i,%i) => hDC = %x, hBmp = %x, hBmpOld = %x\n", W, H, hDC, hBmp, hBmpOld
  32. End Sub
  33.  
  34. Private Sub Destroy()
  35.     'ODS "Bitmap::Destroy()"
  36.     If hDC Then
  37.         SelectObject hDC, hBmpOld
  38.         DeleteObject hBmp
  39.         DeleteDC hDC
  40.     End If
  41.     hDC = 0: hBmp = 0: hBmpOld = 0
  42. End Sub
  43.  
  44. Private Sub Class_Terminate()
  45.     Destroy
  46. End Sub
  47.  
  48. Public Sub Blit(ByVal hDestDC As Long, ByVal x As Long, ByVal y As Long)
  49.     BitBlt hDestDC, x, y, W, H, hDC, 0, 0, vbSrcCopy
  50. End Sub
  51.  
  52. Public Property Get handle() As Long
  53.     handle = hDC
  54. End Property
  55.