在VS2008的VC环境下如何添加ActiveX控件并且生成其包装类。
VC6.0环境下,添加activex控件很方便,而且包装类也会自动添加。
但是在vs2008环境下,取消了ClassWizard,其中的功能都被拆分了。
以Microsoft Chart Control , version 6.0 (OLEDB)这个控件为例,我的添加步骤是:
第一种方法:
菜单项目-> 添加类->选择ActiveX控件中的MFC类->弹出“从ActiveX控件添加类向导”对话框
-> 选择从文件添加类->选择路径“C:\windows\system32\mschrt20.ocx”(mschrt20.ocx是这个控件的文件)
->点击“>>”按钮添加所有接口(会弹出提示对话框说_DMSChartEvent这个接口找不到coclass)
->点击完成
->查看类视图,发现添加了许多类,其中的CDMSChart是最主要的类
->单击类视图中的CDMSChat类查看它的成员函数和成员变量,发现这个类的成员函数都正常,但是所有成员变量都看不到!!
第二种方法:
->在项目中随便创建一个对话框资源
->在对话框中右键->“插入ActiveX控件”->选择Microsoft Chart Control , version 6.0 (OLEDB)
(也可以在工具箱面板上右键->“选择项”->在弹出对话框中单击“COM组建”选项卡->找到Microsoft Chart Control , version 6.0 (OLEDB)打上复选标记确定->控件图标被添加到工具箱面板上可以直接拖放到对话框上)
->在对话框上右键这个控件->“添加变量”为对话框创建一个空间变量->IDL会自动创建此控件的包装类,CDMSChart.h和CDMSChart.cpp文件。
->在类视图中查看这个类,发现成员函数和成员变量都能正常显示。但是mschrt20.ocx其他接口的类没有被添加!!
试出这两中方法我都花了很长的时间,但是还是很不好用!
VS2008乃至VS2010真的是一种退步么。
还请知道怎么弄的同学教教我!