C++实验报告WEB浏览器
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C++实验报告基于IE的WEB浏览器
姓名:***
学号:*********
班级: *********
2012/12/13
目录
一、实验目的 (3)
二、实验设备(环境)及要求 (3)
三、实验设计 (3)
四、软件的具体实现过程 (5)
(一)实现WEB站点浏览,初步完成浏览器的模块的建立以及实现工具栏的各个功能(如:前进.后退,刷新,主页,停止以及搜索等功能)。 (5)
1.利用MFC AppWizard生成应用程序框架 (5)
2.修改菜单 (6)
3.修改工具栏 (6)
4.为控件添加时间处理函数 (7)
5.添加事件处理函数的代码 (7)
6.为应用程序添加URL定位功能 (8)
7.解决单击超级链接时地址栏的同步问题 (10)
8.修改首页地址,以及主页地址和搜索页面。 (11)
(二)加入删除IE相关历史记录的功能(包括删除文档历史纪录,清除cookies,清除Internet临时文件,清除地址栏中的历史任务,清除密码历史纪录和清除收藏夹)。 (11)
1.添加“删除”菜单 (11)
2.为控件添加事件处理函数 (12)
3.添加事件处理函数的代码 (13)
(8) 实现桌面快捷方式 (22)
(三)显示浏览器当前访问站点的标题(附加功能) (24)
五、实验结果与数据处理 (24)
①起始页: (24)
①“创建桌面快捷方式“功能 (26)
六、缺陷 (27)
七、总结 (27)
一、实验目的
目的:
通过一个学期的学习,编写一个项目型的功能软件,综合应用专业所学习的多门课程知识,并把本学期所学的编程知识运用到实际编程中,熟练编程规范,训练编程思维,为学生适应合作开发规模稍大项目打下基础。
二、实验设备(环境)及要求
1)使用VC++平台实现该程序
2)要求用户操作时,要给出清晰,明确的提示信息。
3)所有文件、函数、变量的名称应尽量做到“见其名知其意”。
三、实验设计
由于技术原因本软件直接调用IE内核,该软件的具体功能如上图,除了具有普通浏览器的功能外又加了个特殊的功能“文本文档记录浏览过所有网页的地址”随着上网的浏览网页是项目过多,有时候需要记录网页,但是浏览记录大多又太复杂,上面的项目太多,而且大多都不是自己需要的,为了解决这个问题,本软件专门设置了个记录所有浏览过网页地址的文本文档,这个很实用但又很简单的功能。
四、软件的具体实现过程
(一)实现WEB站点浏览,初步完成浏览器的模块的建立以及实现工具栏的各个功能(如:前进.后退,刷新,主页,停止以及搜索等功能)。
1.利用MFC AppWizard生成应用程序框架
工程名为myWeb16。第一步,选择工程类型为单文档(SDI),中文语言支持。第二步和第三步使用默认值,不需要数据库,也不提供对于复合对象的支持;第四步选择Internet Explorer ReBars 工具栏的风格,这样就有了用来输入网址的文本框;第五步不做任何修改;第六步选择CHtmlView类作为视图类的基类。生成工程框架包含4个类。
1.应用程序类:CMyWeb16App,对应myWeb16.h和
myWeb16.cpp文件。
2.框架类:CMainFrame,对应MainFrm.h和MainFrm.cpp文件。
3.文档类:CMyWeb16Doc,对应myWeb16Doc.h和
myWeb16Doc.cpp文件。
4.HtmlView类:CMyWeb16View,对应myWeb16View.h和
myWeb16View.cpp文件。
此时编译运行,程序已经具有基本的Web浏览功能,能自动链接到微软公司的网站。
2.修改菜单
在工作区中选择“ResourceView”选项卡,选择Menu,双击菜单控件的名字(IDR_MAINFRAME),右边出现程序的菜单。选择菜单中的“查看”命令,已经有了“工具栏”和“状态栏”两个条目,双击下面的空框,弹出设置菜单条目属性对话框,如图1.1所示,按照表1.2添加6个菜单条目
菜单条目名称(Caption)ID号
前进ID_FOWARD
后退ID_BACK
停止ID_STOP
刷新ID_UPDATE
主页ID_HOMEPAGE
搜索ID_SEARCH
图1.2
3.修改工具栏
在工具栏上增加新的按钮,以便快速执行所需的功能。在工作区中选择“ReaourcecView”选项卡,选择ToolBar,双击工具条控件的名字(IDR_MAINFRAME),右边出现程序的工具条。双击其中的安秀,可以看到他们的属性。其中有一个空的按钮,双击它可以添加新的安秀的属性,如图1.3所示,利用右边的图形绘制工具,可以自己设计新的按钮图样。如图1.4所示。
如图添加6个按钮,他们的ID号与相应的菜单条目相同。拖动按钮,可以改变按钮之间的相对位置。
4.为控件添加时间处理函数
当用户单击菜单条目,或者单击相应的快捷键时,应能引起程序的反映,这就需要给这些控件添加时间处理函数。进入类向导,选择“Message Maps”选项卡。在“Class Name”下拉列表框中选择CMyWeb16View类,然后按照表1.5为前述的六个控件添加事件处理函数。
对象ID Messages Member Function
ID_FORWARD COMMAND OnFoward()
ID_BACK COMMAND OnBack()
ID_STOP COMMAND OnStop()
ID_UPDATE COMMAND OnUpdate()
ID_HOMEPAGE COMMAND OnHomepage()
ID_SEARCH COMMAND OnSearch()
图1.5
5.添加事件处理函数的代码
在MyWeb16View.cpp实现文件中,添加上述6个时间处理函数的代码。