我用VC创建一个OFFICE的插件,只是用ATL的时候,注册信息可以写入到注册表,但是我加入MFC支持以后,这样的一段就没法写入到注册表了,请问各位使用ATL附带MFC支持是否不太合适?

解决方案 »

  1.   

    没有这样一说。ATL 用的是模板技术,MFC用的是C++的类oop,为了减少oop方面的一些弊端,加入了大量的宏。ATL附带MFC支持主要是为了使用一些MFC的工具类,应该没什么问题。组件的注册信息是写在你的 .rgs 文件里的,你打开看看是否正确。
      

  2.   

    我的两个工程唯一的差别就在“support MFC”这个选项上,不知道为什么呀
      

  3.   

    两者有个很大的联系.大家都知道 CString 在 ATL 和 MFC 都是可用的, 没错, 他俩就是靠 CString 联系起来的.
    我们也知道, MFC 有串行化的支持, 你可以将任意支持串行化的类,窗口啦, 视图啦, 文档啦, 自定义类啦将他们统统串行化到 CString 中. 然后将 CString 交给 ATL , ATL 就可以很轻易的创建窗口啦, 视图啦, 文档啦, 自定义类啦这些对象. 这些对象将直接支持 AutoMation , 支持 COM/COM+/ActiveX. 这就是 ATL与MFC的巨大秘密. 
    相关的代码稍后我会给出. 谢谢各位捧场.
    相关文章请到 http://msdn.microsoft.com 上搜索 QA1357924680
      

  4.   

    没有关系,你可以用MFC来编写ATL中的一部分代码。不过这是一个最糟糕的主意。MFC用于编写COM是不适合的。
      

  5.   

    realdreamer(楼主英明,贫僧久仰大名,特来拜见) 说得很有意思,希望尽快能看到你的代码。