MFC ActiveX控件与ATL ActiveX控件的比较

来源:互联网 发布:java典型编题 编辑:程序博客网 时间:2024/06/05 11:33

1、两者均可使用VS IDE中AppWizard来建立框架,前者使用“MFC ActiveX Control Wizard”,后者使用“ATL COM AppWizard”。

2、用MFC建立的ActiveX控件的扩展名缺省为“.ocx”;用ATL(活动模板库)建立的扩展名缺省为“.dll”。

3、用MFC建立ActiveX控件要简单得多,原因是MFC省去聊很多低级的COM概念,且控件设计中可使用多种MFC类,如CString、 CWnd 、CDC等;用ATL建立ActiveX控件则复杂些,且只能使用Windows SDK(Win API)函数。

4、MFC ActiveX控件文件要比ATL的小,但需要MFC的DLL支持,且MFC的DLL(600K左右)要比ATL的DLL(20K左右)大得多。

5、介绍使用MFC设计ActiveX控件的资料和书籍很多,例子也不少;但介绍ATL ActiveX设计方面的书不多,具体例子可参考“Visual C++6.0开发使用手册”第21章及“Visual C++实战与提高-ActiveX篇”第11章。

6、为方便设计,与MFC类似,ATL也有许多C++模板l类(非MFC类),其中CWindow就是ATL模板类中所有窗口类的父类。关于ATL模板类的详细介绍及常用类的成员函数(又叫“方法”)见“Visual C++实战与提高-ActiveX篇”第10章。