Tag: atl

我如何决定是否将ATL,MFC,Win32或CLR用于新的C ++项目?

我刚刚开始我的第一个C ++项目。 我正在使用Visual Studio 2008 。 这是一个单一窗体的Windows应用程序,用于访问几个数据库并启动WebSphere MQ事务。 我基本上理解ATL,MFC,Win32(我实际上对此有点朦胧)和CLR之间的区别,但是我对如何select我却不知所措。 是否有一个或多个这些为了向后兼容? CLR 是一个坏主意吗? 任何build议感激。 编辑:我已经selectC ++这个项目,因为我没有在post中进入,这不完全是技术性的。 所以, 假设 C ++是唯一的/最好的select,我应该select哪一个?

MFC和ATL的根本区别是什么?

假设我只是使用它们作为“正常”的GUI程序(没有COM,没有ActiveX,没有什么奇特的),我将在ATL和MFC之间看到的基本区别是什么,以帮助我找出使用哪一个? 我在网上做了一些search,但最终没有一个答案真的回答了我的问题: http://msdn.microsoft.com/en-us/library/bk8ytxz5(v=vs.80).aspx : “ATL是一种既快速又简单的方法,既可以在C ++中创build一个COM组件,又可以占用很小的空间。如果不需要MFC自动提供的所有内置function,可以使用ATL创build一个控件。 没有真正回答我的问题,因为: 我没有使用COM。 这是否意味着MFC 不是很快? 为什么/怎么样? “MFC允许您创build完整的应用程序,ActiveX控件和活动文档,如果您已经使用MFC创build了控件,则可能需要继续在MFC中进行开发。创build新控件时,如果您不需要使用ATL所有MFC的内置function“。 也不回答我的问题,因为: 我甚至不知道什么是第一个ActiveX。 看起来好像微软不鼓励使用MFC,但我不明白为什么。 什么是 ATL不提供的MFC的“内置function”? 总的来说,这并不能回答我的问题,因为这并不能解释它们背后的缺点和原因。 因为直接或间接地,一切似乎都链接回上一页: 我如何决定是否将ATL,MFC,Win32或CLR用于新的C ++项目? “ATL&MFC在两者之间有点棘手。 [不要开玩笑!] 我会把你引到MSDN的页面来select它们之间的决定。 显然 ,这不能回答我的问题。 🙂 http://www.codeguru.com/forum/archive/index.php/t-64778.html 等等 我目前观察到的 (在过去几天里,同时试图学习): ATL基于模板或编译时多态。 ATL方法往往是非虚拟的,并倾向于返回引用。 MFC是基于虚拟方法,或者是运行时多态的。 MFC方法往往是虚拟的,并倾向于返回指针。 但是他们之间似乎没有任何架构上的区别 : 两者都使用消息映射( BEGIN_MSG_MAP与BEGIN_MESSAGE_MAP …大不了) 都将Win32方法包装到类中 两人似乎都有CWnd和CWindow类似 但是,如果除了编译时间和运行时间方面没有真正的差别,为什么它们都存在? 他们中的一个还不够吗? 我在这里错过了什么?

如何开始开发Internet Explorer扩展?

有没有人在这里有开发IE扩展的经验,可以分享他们的知识? 这将包括代码示例,或链接到好的,或有关进程的文档,或任何东西。 我真的想这样做,但是我正在用一个糟糕的文档,糟糕的代码/示例代码/缺乏的巨大墙壁。 任何帮助/资源,你可以提供将不胜感激。 具体来说,我想开始如何访问/操纵在IE扩展内的DOM。 编辑,甚至更多的细节: 理想情况下,我想种植一个工具栏按钮,点击后,弹出一个菜单,其中包含指向外部网站的链接。 我也想访问DOM并根据一些条件在页面上植入JavaScript。 在IE扩展中保存信息的最佳方法是什么? 在Firefox / Chrome /大多数现代浏览器中,您使用window.localStorage ,但显然与IE8 / IE7,这不是一个选项。 也许一个SQLite数据库或这样的? 假设.NET 4.0将安装在用户的计算机上是可以的。 我不想使用Spice IE,因为我想创建一个与IE9兼容的IE。 我也为这个问题添加了C ++标记,因为如果在C ++中构建一个更好,我可以这样做。