home *** CD-ROM | disk | FTP | other *** search
/ Planet Source Code Jumbo …e CD Visual Basic 1 to 7 / 3_2004-2005.ISO / Data / Zips / DarkRAD__R184725222005.psc / Editor / Areas.cls < prev    next >
Text File  |  2004-05-18  |  4KB  |  148 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 = "Areas"
  10. Attribute VB_GlobalNameSpace = False
  11. Attribute VB_Creatable = True
  12. Attribute VB_PredeclaredId = False
  13. Attribute VB_Exposed = False
  14. Attribute VB_Ext_KEY = "SavedWithClassBuilder6" ,"Yes"
  15. Attribute VB_Ext_KEY = "Collection" ,"Area"
  16. Attribute VB_Ext_KEY = "Member0" ,"Area"
  17. Attribute VB_Ext_KEY = "Top_Level" ,"Yes"
  18. 'local variable to hold collection
  19. Private mCol As Collection
  20. Public ParentHDC As Long
  21.  
  22. Public Function Add(AreaNumber As Long, AreaBrush As Long, AreaAlertBrush As Long, AreaPen As Long, AreaName As String, AreaNormalColor As Long, AreaMouseColor As Long, AreaSelected As Boolean, AreaState As Long, AreaComments As String, AreaStyle As Long, AreaType As String, Optional sKey As String) As Area
  23.     'create a new object
  24.     Dim objNewMember As Area
  25.     Set objNewMember = New Area
  26.  
  27.  
  28.     'set the properties passed into the method
  29.     objNewMember.AreaNumber = AreaNumber
  30.     objNewMember.AreaBrush = AreaBrush
  31.     objNewMember.AreaAlertBrush = AreaAlertBrush
  32.     objNewMember.AreaPen = AreaPen
  33.     objNewMember.AreaName = AreaName
  34.     objNewMember.AreaNormalColor = AreaNormalColor
  35.     objNewMember.AreaMouseColor = AreaMouseColor
  36.     objNewMember.AreaSelected = AreaSelected
  37.     objNewMember.AreaState = AreaState
  38.     objNewMember.AreaComments = AreaComments
  39.     objNewMember.AreaStyle = AreaStyle
  40.     objNewMember.AreaType = AreaType
  41.  
  42.         mCol.Add objNewMember
  43.     'return the object created
  44.     Set Add = objNewMember
  45.     Set objNewMember = Nothing
  46.  
  47.  
  48. End Function
  49.  
  50. Public Property Get Item(vntIndexKey As Variant) As Area
  51. Attribute Item.VB_UserMemId = 0
  52.     'used when referencing an element in the collection
  53.     'vntIndexKey contains either the Index or Key to the collection,
  54.     'this is why it is declared as a Variant
  55.     'Syntax: Set foo = x.Item(xyz) or Set foo = x.Item(5)
  56.     'Debug.Print vntIndexKey
  57.   Set Item = mCol(vntIndexKey)
  58. End Property
  59.  
  60. Public Property Get Count() As Long
  61.     'used when retrieving the number of elements in the
  62.     'collection. Syntax: Debug.Print x.Count
  63.     Count = mCol.Count
  64. End Property
  65.  
  66.  
  67. Public Sub Remove(vntIndexKey As Variant)
  68.     'used when removing an element from the collection
  69.     'vntIndexKey contains either the Index or Key, which is why
  70.     'it is declared as a Variant
  71.     'Syntax: x.Remove(xyz)
  72.  
  73.  
  74.     mCol.Remove vntIndexKey
  75. End Sub
  76.  
  77.  
  78. Public Property Get NewEnum() As IUnknown
  79. Attribute NewEnum.VB_UserMemId = -4
  80. Attribute NewEnum.VB_MemberFlags = "40"
  81.     'this property allows you to enumerate
  82.     'this collection with the For...Each syntax
  83.     Set NewEnum = mCol.[_NewEnum]
  84. End Property
  85.  
  86.  
  87. Private Sub Class_Initialize()
  88.     'creates the collection when this class is created
  89.     Set mCol = New Collection
  90. End Sub
  91.  
  92.  
  93. Private Sub Class_Terminate()
  94.     'destroys collection when this class is terminated
  95.     Set mCol = Nothing
  96. End Sub
  97.  
  98. Public Sub SelectNone()
  99. Dim i As Integer
  100. If mCol.Count = 0 Then Exit Sub
  101. For i = 1 To mCol.Count
  102.     mCol.Item(i).AreaSelected = False
  103. Next i
  104. End Sub
  105.  
  106.  
  107. Public Sub SetSelected(Inum As Long)
  108. Dim i As Integer
  109. If mCol.Count = 0 Then Exit Sub
  110. For i = 1 To mCol.Count
  111.     If mCol.Item(i).AreaNumber = Inum Then
  112.          mCol.Item(i).AreaSelected = False
  113.     Else
  114.         mCol.Item(i).AreaSelected = False
  115.     End If
  116. Next i
  117. End Sub
  118.  
  119. Public Sub ClearAll()
  120. Dim i As Integer
  121. If mCol.Count = 0 Then Exit Sub
  122. For i = mCol.Count To 1 Step -1
  123.     DestroyRGN mCol.Item(i).AreaNumber, mCol.Item(i).AreaPen, mCol.Item(i).AreaBrush
  124.     mCol.Remove i
  125. Next i
  126. End Sub
  127.  
  128. Public Sub RemoveRegion(LRGN As Long)
  129. Dim i As Integer
  130. If mCol.Count = 0 Then Exit Sub
  131.  
  132. For i = 1 To mCol.Count
  133. If mCol.Item(i).AreaNumber = LRGN Then
  134.      DestroyRGN mCol.Item(i).AreaNumber, mCol.Item(i).AreaPen, mCol.Item(i).AreaBrush
  135.     mCol.Remove i
  136.     Exit For
  137. End If
  138. Next i
  139. End Sub
  140.  
  141. Public Sub DestroyRGN(LRGN As Long, LPen As Long, LBrush As Long)
  142. 'Destroy all items we asked windows to do for us
  143. 'or bad things happen in memory
  144.         DeleteObject LRGN
  145.         DeleteObject LPen
  146.         DeleteObject LBrush
  147. End Sub
  148.