实现原理:
ActiveX控件可以看作是OLE容器中使用的进程内服务器,但是,只有在支持ActiveX控件的OLE容器中使用它,才能发挥其所有的功能。而VC++ 6.0的MFC创建的OLE容器完全支持ActiveX控件,所以它可以使用控件的属性和方法来操作ActiveX控件,同时又能以事件的形式接收Active事件的通知。
具体方法:
1.首先在VC++ 6.0的主窗口中选择菜单“File/New”,新建一个工程,使用“MFC AppWizard(exe)”向导,工程名为“SimpleIE”,然后单击“OK”按钮。
2.接下来会有6个向导步骤。第一步选择“Single document”(单文档界面)支持,语言选择“中文”,其余按默认值,单击“Next”按钮。
3.在接下来的4个步骤(即:Step 2 of 6到Step 5 of 6)中,一律保持默认值,直接单击“Next”按钮进入到下一步即可。
4.在第6步(即:Step 6 of 6)中,请在类列表中选中“CSimpleIEView”类,再从“Base class”下拉列表框中选择“CFormView”,这表示可以在程序界面的窗口中加入控件。最后单击“Finish”按钮,直到系统生成该工程所必需的文件结束,此时,也就完成了该程序的基本框架。
5.在VC++ 6.0的主窗口左边选择资源选项卡,双击其中的Dialog文件夹,再双击其下的IDD_SimpleIE_FORM项,则此对话框出现在对话框编辑器中。删除对话框上的静态文本,然后在对话框上单击鼠标右键,从弹出的快捷菜单中选择“Insert ActiveX Control”命令,在弹出的“Select ActiveX Control”对话框中,从列表框中选择“Microsoft Web浏览器”控件,单击“OK”按钮,将该控件加入到对话框中。进入ClassWizard,选择Member Variable选项卡,然后选择Class Name列表框中的CSimpleIEView类,在ID列表中找到ID_EXPLORER1,为它增加一个成员变量“m_SimpleIE”(注意:系统提示在增加控件后,保存工程中的所有文件)。
6.再在对话框上加入三个控件,静态文本“地址:”、EDIT_BOX控件(为其添加成员变量m_URL)、一个按钮(在其属性对话框中,将Caption属性设为“链接(&L)”,选择“Styles”选项卡,将“Default button”复选框选中)。此时的对话框外观如图1所示。
7.进入ClassWizard,选择Message Maps选项卡,再在Object Ids列表框中选择IDC_BUTTON1,选择Message列表框中的BN_CLICKED。单击“Add Function”按钮,增加一个函数,使用系统的默认函数名“OnButton1”,单击“OK”。点击“Edit Code”按钮,为此函数加入如下代码(注意字母的大小写):
UpdateData(true);
m_SimpleIE.Navigate(m_URL,NULL, NULL, NULL, NULL);
8.保存工程,编译并运行。在编辑框中直接输入网址并回车,你熟悉的网页将出现在你的面前,如图2所示。
以后,我们还可以在此基础上对它进行改进,使它的功能进一步增强和完善,最终做出具有自我风格的浏览器。
延伸阅读
文章来源于领测软件测试网 https://www.ltesting.net/