n Explicit

Private Const WM_LBUTTONUP = &amp;H202
Private Const WM_LBUTTONDOWN = &amp;H201
Private Const WM_MOUSEMOVE = &amp;H200
Private Const WM_DESTROY = &amp;H2
Private Const WM_SIZE = &amp;H5

Implements ISubclass

Private m_hWnd As Long

Public Sub Attach(ByVal hWnd As Long)
   Detach
   attachmessage Me, hWnd, WM_LBUTTONUP
   attachmessage Me, hWnd, WM_MOUSEMOVE
   attachmessage Me, hWnd, WM_LBUTTONDOWN
   attachmessage Me, hWnd, WM_DESTROY
   m_hWnd = hWnd
End Sub

Public Sub Detach()
   If Not (m_