home *** CD-ROM | disk | FTP | other *** search
/ Planet Source Code Jumbo …e CD Visual Basic 1 to 7 / 3_2004-2005.ISO / Data / Zips / Advanced_S1855972212005.psc / Subclass / Dll / cSubclass.cls next >
Text File  |  2005-02-18  |  3KB  |  98 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 = "cSubclass"
  10. Attribute VB_GlobalNameSpace = False
  11. Attribute VB_Creatable = False
  12. Attribute VB_PredeclaredId = False
  13. Attribute VB_Exposed = True
  14. Option Explicit
  15.  
  16. '==================================================================================================
  17. 'cSubclass.cls                          7/5/04
  18. '
  19. '           PURPOSE:
  20. '               Represents a subclass on a single hWnd for a single client object, allowing the dll
  21. '               client to specify which messages are to be received.
  22. '
  23. '           MODULES CALLED FROM THIS MODULE:
  24. '               mSubclass.bas
  25. '
  26. '==================================================================================================
  27.  
  28. '1.  Friendly Interface       - Used internally to initialize the modular variables.
  29. '2.  Message Interface        - Methods which manage the messages called back by this subclass.
  30. '3.  CallOldWndProc Interface - Calls the original WndProc at any old time you please.
  31.  
  32. Private miPtr As Long   'Stores a pointer to the iSubclass object to be called back for messages
  33. Private mhWnd As Long   'stores the mhWnd subclassed by this object
  34.  
  35. '<Private Interface>
  36. '</Private Interface>
  37.  
  38. '<Friendly Interface>
  39. Friend Sub fInit( _
  40.         ByVal iPtr As Long, _
  41.         ByVal ihWnd As Long)
  42.     mhWnd = ihWnd
  43.     miPtr = iPtr
  44. End Sub
  45. '</Friendly Interface>
  46.  
  47. '<Public Interface>
  48. '<Message Interface>
  49. Public Function AddMsg( _
  50.             ByVal iMsg As eMsg, _
  51.             ByVal iWhen As eMsgWhen) _
  52.                 As Boolean
  53.     AddMsg = mSubclass.MsgHubObject(mhWnd).AddMsg(iMsg, iWhen, miPtr)
  54. End Function
  55.  
  56. Public Function DelMsg( _
  57.             ByVal iMsg As eMsg, _
  58.             ByVal iWhen As eMsgWhen) _
  59.                 As Boolean
  60.     DelMsg = mSubclass.MsgHubObject(mhWnd).DelMsg(iMsg, iWhen, miPtr)
  61. End Function
  62.  
  63. Public Function MsgExists( _
  64.             ByVal iMsg As eMsg, _
  65.             ByVal iWhen As eMsgWhen) _
  66.                 As Boolean
  67.     MsgExists = mSubclass.MsgHubObject(mhWnd).MsgExists(iMsg, iWhen, miPtr)
  68. End Function
  69.  
  70. Public Function MsgCount( _
  71.             ByVal iWhen As eMsgWhen) _
  72.                 As Long
  73.     MsgCount = mSubclass.MsgHubObject(mhWnd).MsgCount(miPtr, iWhen)
  74. End Function
  75.  
  76. Public Function GetMessages( _
  77.             ByRef iArray() As Long, _
  78.             ByVal iWhen As eMsgWhen) _
  79.                 As Long
  80.     GetMessages = mSubclass.MsgHubObject(mhWnd).GetMessages(miPtr, iWhen, iArray)
  81. End Function
  82. '</Message Interface>
  83.  
  84. '<CallOldWndProc Interface>
  85. Public Function CallOldWndProc( _
  86.             ByVal iMsg As eMsg, _
  87.             ByVal wParam As Long, _
  88.             ByVal lParam As Long) _
  89.                 As Long
  90.     CallOldWndProc = mSubclass.MsgHubObject(mhWnd).CallOldWndProc(iMsg, wParam, lParam)
  91. End Function
  92. '</CallOldWndProc Interface>
  93.  
  94. Public Property Get hWnd() As Long
  95.     hWnd = mhWnd
  96. End Property
  97. '</Public Interface>
  98.