问题原因:你的ActiveX control没有hwnd这个属性,所以会报错。
解决方法:
      (1).在控件中加入hwnd属性。
          public property get hwnd() as long 
              hwnd= usercontrol.hwnd
          end preperty
      (2).不用ctl.parent.hwnd ,使用另一个API.
         Declare Function GetParent Lib "user32" Alias "GetParent" (ByVal hwnd As Long) As Long       ScreenToClient GetParent(ctl.hwnd), pt
       ClientToScreen GetParent(ctl.hwnd), pt解释:
    (1) 第一种不够灵活,在第个做容器的控件里都在要加入这个属性。
    (2) 第二种有的情况不能使用,便如ctl 是一个label,这时ctl 没有hwnd
    
     具体使用看你的情况了。