CEntity.cls
上传用户:yayuwl
上传日期:2022-03-18
资源大小:8952k
文件大小:2k
源码类别:

CAD

开发平台:

VBA

  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 = "CEntity"
  10. Attribute VB_GlobalNameSpace = False
  11. Attribute VB_Creatable = False
  12. Attribute VB_PredeclaredId = False
  13. Attribute VB_Exposed = False
  14. Private WithEvents m_oEntity As AcadObject
  15. Attribute m_oEntity.VB_VarHelpID = -1
  16. Private m_Value As Variant
  17. Private m_Owner As TlsReactor
  18. Public Property Let Owner(ByVal vNewValue As TlsReactor)
  19.     Set m_Owner = vNewValue
  20. End Property
  21. Public Property Let Entity(ByVal vNewValue As AcadObject)
  22.     Set m_oEntity = vNewValue
  23. End Property
  24. Public Property Get Entity() As AcadObject
  25.     Set Entity = m_oEntity
  26. End Property
  27. Public Property Get Value() As Variant
  28.     Value = m_Value
  29. End Property
  30. Public Property Let Value(ByVal vNewValue As Variant)
  31.     m_Value = vNewValue
  32. End Property
  33. Private Sub m_oEntity_Modified(ByVal pObject As AutoCAD.IAcadObject)
  34.     m_Owner.Change 0, m_oEntity, m_Value
  35. End Sub
  36. Public Property Get EntityInfo() As Variant
  37. On Error GoTo ErrHandle
  38.     Dim Count As Integer
  39.     If IsArray(m_Value) Then Count = UBound(m_Value) Else Count = -1
  40.     EntityInfo = m_oEntity.Handle
  41.     For i = 0 To Count
  42.         EntityInfo = EntityInfo & "," & m_Value(i)
  43.     Next i
  44. ErrHandle:
  45. End Property
  46. Public Property Let EntityInfo(ByVal vNewValue As Variant)
  47. On Error Resume Next
  48.     Dim Values()
  49.     Dim Count As Integer
  50.     If InStr(vNewValue, ",") Then
  51.         vNewValue = Split(vNewValue, ",")
  52.     Else
  53.         vNewValue = Array(vNewValue)
  54.     End If
  55.     Count = UBound(vNewValue) - 1
  56.     Set m_oEntity = m_Owner.ActiveDocument.HandleToObject(vNewValue(0))
  57.     
  58.     If Count > -1 Then
  59.         ReDim Values(Count)
  60.         For i = 0 To Count
  61.             Values(i) = vNewValue(i + 1)
  62.         Next i
  63.         m_Value = Values
  64.     End If
  65. End Property