用ATL和MFC两者可以开发ACTIVEX
请问请哪个技术好,有什么区别?

解决方案 »

  1.   

    ATL是轻量级的用于开发Activex的框架。MFC则是windows的C++形式上的Api,是一整套windows应用程序开发框架。如果是学习的话,建议使用ATL.
      

  2.   

    MFC大多数都给你封装了。ATL需要你自己写
      

  3.   

    如果我没记错的话MFC与ATL编写组件遵循的COM规范是不同的,MFC写的组件不支持双接口的,也就是说MFC写的组件脚本语言是不能调用的
    而ATL是遵循最新的COM规范,支持双接口,写出来的组件是能够被脚本(比如javascript)调用的参考COM技术内幕
      

  4.   

    ATL是轻量级的用于开发Activex的框架
      

  5.   


    MFC写的ActiveX控件脚本语言可以调用的,两者的区别是 ATL轻便点儿,MFC笨点
      

  6.   

    LZ 知道win32编程与 MFC编程的区别吗?win32编好的可以直接封装成ATL,MFC不能。WIN32是直接调用WINDOWS底层API进行开发,使用灵活,但是也很繁琐一些功能需要自己实现,但是好理解。MFC是MS封装好的一套,如果使用熟练 可以减少开发周期,使用方便,但是别人的封装也就要求你熟练这一套,当你熟练后这一套还是不是主流不可而知。
      

  7.   

    经过我的实验,结论如下:
    1、两者都不麻烦,都很容易写
    2、mfc可以非常轻易的将应用程序集成进去(不知道听懂没有),在外面包一层即可,往上资源非常多
    3、atl资源很少,只能用wtl+stl来做
    4、mfc自然需要mfc库的支持,atl也需要atl库支持,但是很小,可是这有什么关系吗?
    最后的结论,vc适合于高端,比如你想做成控件让别人二次开发,你追求效率,那自然选vc.
    如果你做几千几万块的mis oa之类的项目,那还是用vb c#,你用vc在那里定义一上午的变量,用了好些个api,vb里面用3 5句话就能搞定了。
    总之,没学会之前觉得很有意思,等真会了,又能怎么样?还不是个写代码的吗?
      

  8.   

    MFC提供封装接口类映射。ATL需要你添加ACtivex控件,建立控件接口类。
      

  9.   

    对刚入门的人来说,MFC似乎比较容易上手。
      

  10.   

    对刚入门的人来说,MFC似乎比较容易上手。
      

  11.   

    MFC 使用内嵌类实现的 COM 规范。ATL 是用接口继承实现的