刚开始着手试着写activeX,是基于MFC的,开发工具是VS2008。
工程名是MyActiveX,里面有一个文件时MyActiveX.idl。我觉得这个文件是用来定义对外使用的接口,不知道这么认为对不对?
我使用ActiveX Control Test Container来查看自己写的ActiveX,发现如果在.idl文件中定义了[id(DISPID_ABOUTBOX)] void AboutBox();那么在container里面可以看到method一栏有AboutBox()这么一个函数。
那么我就想自己添加函数,然后能供外部使用,比如我在MyActiveXCtrl里面添加一个test的函数,那么是不是要自己在.idl去添加代码以使得test能被外部使用?
有没有关于这些的书?网上好些都是说ClassWizard添加类就行了,压根没提及到.idl,不过都是用VC6的,不解。
工程名是MyActiveX,里面有一个文件时MyActiveX.idl。我觉得这个文件是用来定义对外使用的接口,不知道这么认为对不对?
我使用ActiveX Control Test Container来查看自己写的ActiveX,发现如果在.idl文件中定义了[id(DISPID_ABOUTBOX)] void AboutBox();那么在container里面可以看到method一栏有AboutBox()这么一个函数。
那么我就想自己添加函数,然后能供外部使用,比如我在MyActiveXCtrl里面添加一个test的函数,那么是不是要自己在.idl去添加代码以使得test能被外部使用?
有没有关于这些的书?网上好些都是说ClassWizard添加类就行了,压根没提及到.idl,不过都是用VC6的,不解。
不过手工添加应该是最终极的办法。
不过手工添加应该是最终极的办法。
VS2008是没有类向导(classwizard)的,做法是右击类视图里面的工程,添加类,然后选择,比如ATL简单对象,IDL将会给你添加好,同时创建H和CPP。只要步骤正确,根本不需要手工添加