开发OCX控件时,如何让外部调用(如在VB中)的方法中可以传类对像(如CPoint)希望在VB中调用方法AddPoint(CPoint point)

解决方案 »

  1.   

    不可以,因为VB与VC实现方法不一样。你可以通过变通的传递两个参数来实现传入CPoint.
      

  2.   

    我用了topmap的控件是可以的呀!
    他们是如何做到的呢?
      

  3.   

    我添加CMPoint类时,不是选择的MFC类,而是选择的“ATL简单对象”,这样在VB中才会有MPoint类。
    于是在VB中有
    Dim pt As New kdnlib.MPoint
    kdn1.addPoint pt为到达到上面的addPoint函数的功能,在VC中开发控件时就必须有addPoint(CMPoint point)函数才行,但在ActiveX的开发过程中又不无法添加这样的函数,请问如何解决。如果用addPoint(IDispatch* point)的话,在VB的帮助提示中显示的是point As Object,而不是显示的point As MPoint ,这样的话,用户开发时不知道传什么类型的对象。请各位高手指教。
      

  4.   

    我添加CMPoint类时,不是选择的MFC类,而是选择的“ATL简单对象”,这样在VB中才会有MPoint类。 
    于是在VB中有 
    Dim pt As New kdnlib.MPoint 
    kdn1.addPoint pt 为到达到上面的addPoint函数的功能,在VC中开发控件时就必须有addPoint(CMPoint point)函数才行,但在ActiveX的开发过程中又不无法添加这样的函数,请问如何解决。 如果用addPoint(IDispatch* point)的话,在VB的帮助提示中显示的是point As Object,而不是显示的point As MPoint ,这样的话,用户开发时不知道传什么类型的对象。 请各位高手指教。
      

  5.   

    我添加CMPoint类时,不是选择的MFC类,而是选择的“ATL简单对象”,这样在VB中才会有MPoint类。 
    于是在VB中有 
    Dim pt As New kdnlib.MPoint 
    kdn1.addPoint pt 为到达到上面的addPoint函数的功能,在VC中开发控件时就必须有addPoint(CMPoint point)函数才行,但在ActiveX的开发过程中又不无法添加这样的函数,请问如何解决。 如果用addPoint(IDispatch* point)的话,在VB的帮助提示中显示的是point As Object,而不是显示的point As MPoint ,这样的话,用户开发时不知道传什么类型的对象。 请各位高手指教。