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

水经注GIS
企业官方账号
2010-02-25 02:55:19
开发OCX控件时,如何让外部调用(如在VB中)的方法中可以传类对像(如CPoint)

希望在VB中调用方法AddPoint(CPoint point)
...全文
104 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
水经注GIS 2010-03-01
  • 打赏
  • 举报
回复
我添加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 ,这样的话,用户开发时不知道传什么类型的对象。

请各位高手指教。
水经注GIS 2010-02-26
  • 打赏
  • 举报
回复
我添加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 ,这样的话,用户开发时不知道传什么类型的对象。

请各位高手指教。
水经注GIS 2010-02-25
  • 打赏
  • 举报
回复
我添加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 ,这样的话,用户开发时不知道传什么类型的对象。

请各位高手指教。
  • 打赏
  • 举报
回复
IDispatch*
  • 打赏
  • 举报
回复
参数为一个对象
水经注GIS 2010-02-25
  • 打赏
  • 举报
回复
我用了topmap的控件是可以的呀!
他们是如何做到的呢?
WaistCoat11 2010-02-25
  • 打赏
  • 举报
回复
不可以,因为VB与VC实现方法不一样。

你可以通过变通的传递两个参数来实现传入CPoint.

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧