摘要:
一、为什么要用COM 软件工程发展到今天,从一开始的结构化编程,到面向对象编程,再到现在的COM编程,目标只有一个,就是希望软件能象积方块一样是累起来的,是组装起来的,而不是一点点编出来的。结构化编程是函数块的形式,通过把一个软件划分成许多模块,每个模块完成各自不同的功能,尽量做到高内聚低藕合,这已经是一个很好的开始,我们可以把不同的模块分给不同的人去做,然后合到一块,这已经有了组装的概念了。软件工程的核心就是要模块化,最理想的情况就是100%内聚0%藕合。整个软件的发展也都是朝着这个方向走的。结构化编程方式只是一个开始。下一步就出现了面向对象编程,它相对于面向功能的结构化方式是一个巨大的进步 阅读全文
摘要:
功能需求是在程序中加载HTML代码并进行显示,为了实现这个功能,昨天徘徊了一个晚上,拿不定主意到底该用SDK还是MFC来实现,用SDK能实现的话,可以节约不少时间,因为现在我对MFC一窍不通。但SDK也不是这么容易玩转的,手上就一本《Windows 程序设计》的书可参考,而MSDN,虽然已经感觉到了MSDN的强大,但问题一是英文太差,问题二是不会使用MSDN查资料,在MSDN里很多资料通过目录都查不到,只有按关键词搜索,所以唯一可以依靠的就只有搜索引擎了。昨天晚上曾一度想学MFC,因为很多功能在MFC中实现起来比SDK简单多了,但几经思量,还是决定用SDK来实现,多用用SDK以后有时间和精力再 阅读全文
摘要:
1.实现Ctrl+C: ExecWB(OLECMDID_COPY,OLECMDEXECOPT_DONTPROMPTUSER,NULL,NULL);2.实现Ctrl+V: ExecWB(OLECMDID_PASTE,OLECMDEXECOPT_DONTPROMPTUSER,NULL,NULL);3.实现查找:MSHTML::IHTMLDocument2Ptr pdoc;_variant_t varinput,varoutput;IOleCommandTarget *pCmd;HRESULT hr;pdoc=GetHtmlDocument();hr=pdoc.QueryInterface(IID_ 阅读全文
摘要:
很多时候真的很羡慕VB/DELPHI程序员,他们可以方便的用各种控件来搭建一个应用程序。而我们呢,要使用ActiveX控件都要找大半天资料,而且还要手工做大量工作,真是不公平(呵呵,想想人家写硬件驱动的程序员,我们还是轻松多了嘛)。下面我就简单的来讲一下如何引用一个ActiveX控件,我以Flash控件为例:这里我就不一步一步讲了,有兴趣的话就下载源代码吧:)点击这里下载工程源代码// 首先要包含几个COM头文件// 因为要用到ATL容器窗口,所以需要初始化一个CComModule以及包含atlwin.h头文件#include CComModule _Module;#include #incl 阅读全文
摘要:
一、如何显示内存中的 HTML 网页 或者因为网页保密的考虑;或者因为软件分发的考虑,有的时候就需要让 IE 或 IE 浏览器控件显示内存或资源中的 HTML 网页。在 MFC 中,CHtmlView::LoadFromResource() 可以显示程序资源中的 HTML 内容。我们都知道MFC的 CHtmlView 其实是对 IWebBrowser2 的一个包装,但是在 IWebBrowser2 中却没有类似的方法。那么它是如何实现的那?步骤如下: 1、首先通过 IWebBrowser2::Navigate2() 显示一个网页,其目的是产生有效的对象,从而得到 IHTMLDocument2. 阅读全文