MFC Web浏览器

1.如何创建单文档,工具栏样式为浏览器样式以及基类为CHtmlView类项目?

2.在工作区设计地址栏界面:

3.为浏览按钮控件添加事件处理:基类为CMainFram

4.浏览事件处理代码:三句话实现地址访问网络功能。

void CMainFrame::OnBnClickedButton1()
{// TODO: 在此添加控件通知处理程序代码CString sWebAddress;m_wndDlgBar.GetDlgItem(IDC_EDIT1)->GetWindowText(sWebAddress);((CHtmlView*)GetActiveView())->Navigate(sWebAddress);
}

5.演示效果:

Web浏览器优化:

1.在输入地址后直接按回车,就可以实现浏览功能

ON_COMMAND(IDOK,OnBnClickedButton1)


2.设计主菜单:添加子项包括转到、停止、刷新、前进、后退、主页,并修改ID


3.为子菜单项添加事件处理函数,基类为CmybrowserView,并在mybrowserView.cpp添加#include “Resource.h”

void CmybrowserView::OnBack()
{// TODO: 在此添加命令处理程序代码CmybrowserView::GoBack();
}void CmybrowserView::OnForward()
{// TODO: 在此添加命令处理程序代码CmybrowserView::GoForward();
}void CmybrowserView::OnHome()
{// TODO: 在此添加命令处理程序代码CmybrowserView::GoHome();
}void CmybrowserView::OnStop()
{// TODO: 在此添加命令处理程序代码CmybrowserView::Stop();
}void CmybrowserView::OnRefresh()
{// TODO: 在此添加命令处理程序代码CmybrowserView::Refresh();
}

4.演示效果:

Web浏览器进一步优化

1.自定义工具栏:阿里矢量图

2.为自定义的工具栏图标修改ID为与子项菜单栏相同的ID以及提示信息

3.效果展示:

继续完善程序

1.地址栏地址和窗口标题同步更新,添加OnDocumentComplete函数,添加SetURL方法


2.更新地址栏和标题栏代码:

void CmybrowserView::OnDocumentComplete(LPCTSTR lpszURL)
{// TODO: 在此添加专用代码和/或调用基类 //更新地址栏((CMainFrame *)GetParentFrame())->SetURL(lpszURL);//更新标题栏GetDocument()->SetTitle(lpszURL);CHtmlView::OnDocumentComplete(lpszURL);}
void CMainFrame::SetURL(LPCTSTR lpszURL)
{m_wndDlgBar.GetDlgItem(IDC_EDIT1)->SetWindowTextW(lpszURL);
}

3.修改程序图标:将图标ico放到res目录下,并按如下修改

4.效果展示:

MFC Web浏览器相关推荐

  1. [C# 网络编程系列]专题四:自定义Web浏览器

    前言: 前一个专题介绍了自定义的Web服务器,然而向Web服务器发出请求的正是本专题要介绍的Web浏览器,本专题通过简单自定义一个Web浏览器来简单介绍浏览器的工作原理,以及帮助一些初学者揭开浏览器这 ...

  2. Beaker:一个基于Electron的点对点Web浏览器

    Beaker是一个基于Electron.Chromium和Node.js的实验性.点对点Web浏览器.Beaker包含新的基于Dat的API,用于构建无主机应用程序,同时又保持与传统Web的兼容性. ...

  3. 大多数Web浏览器中都可以使用PUT,DELETE,HEAD等方法吗?

    我在这里看到了几个问题,例如如何调试RESTful服务 ,其中提到: 不幸的是,同一浏览器不允许我测试HTTP PUT,DELETE,并且在某种程度上甚至无法测试HTTP POST. 我还听说其他一些 ...

  4. 第十一章:WEB浏览器中的javascript

    客户端javascript涵盖在本系列的第二部分第10章,主要讲解javascript是如何在web浏览器中实现的,这些章节介绍了大量的脚本宿主对象,这些对象可以表示浏览器窗口.文档树的内容.这些章节 ...

  5. 禁用Cookie在web浏览器中读取/写入c#应用程序

    我希望网站无法读取cookie或在webbrowser c#控制应用程序中写入新的cookie.当webbrowser c#应用程序运行时,我宁愿禁用所有网站的所有读/写cookie操作,如果不是,那 ...

  6. 服务器应用程序不可用您试图在此 Web 服务器上访问的 Web 应用程序当前不可用。请点击 Web 浏览器中的“刷...

    错误提示: 服务器应用程序不可用您试图在此 Web 服务器上访问的 Web 应用程序当前不可用.请点击 Web 浏览器中的"刷新"按钮重试您的请求. 管理员注意事项:详述此特定请求 ...

  7. [ZT]介绍 10 款非主流的 Web 浏览器

    尽管大多数的互联网用户都在使用包括 IE.火狐和 Chrome 等主流浏览器,但互联网就是这么百花齐放,一些在某方面有特长的浏览器可能会受某些用户青睐,例如经常访问社交网络的会需要社交版浏览器之类的. ...

  8. python 浏览器,轻量级Python Web浏览器

    这里有一个奇怪的要求,但是我真的不知道答案.在 我正在编写一个python应用程序,它显示web页面和本地存储的图像.在 我需要的是一种使用python显示web页面的方法,这种方法非常轻量级而且非常 ...

  9. 如何在Windows上使用64位Web浏览器

    Google and Mozilla now offer 64-bit versions of Chrome and Firefox for Windows. Here's how to find o ...

最新文章

  1. 细节:js 创建对象的几种模式举例
  2. 《2020雇佣关系趋势报告》今发布:近三成受访者兼职,近七成工作量增加、考核变严格
  3. 什么是 Angular 的多级注入器
  4. 工作93:注意数据对应接口位置
  5. struts2线程安全
  6. debug没反应 eclipse_解决eclipse无法运行或调试的办法
  7. path png转svg_如何将jpg或png图像转换成svg并保存?
  8. dubbo 数据传输大小配置
  9. Idea打包jar 及jar包反编译为代码的多种方法
  10. 创建maven项目时添加自定义property属性
  11. 讲课大师 把微信消息同步转发到企业微信中
  12. C#,欧拉常数(Euler Constant)的算法与源代码
  13. Hazelcast IMDG参考中文版手册-第十一章-分布式查询
  14. 全国建筑模架业内人士齐聚联筑赚 携手并进同发展
  15. 文献阅读(44)—— 基于眼底照的近视深度学习算法和区块链平台,以促进人工智能医学研究:回顾性多队列研究
  16. xxxxxxxxxxxxx
  17. e的精确值是多少?[z]
  18. Magento订单打印(pdf格式) 转:鹏程万里
  19. w ndows7u1,旗舰版微软Windows7各个版本原版系统
  20. Google AIY | Vision Kit开箱深入试用

热门文章

  1. 华为EPON OLT开局配置
  2. 视频教程-vue从入门到精通-Vue
  3. Linux中的远程访问及控制
  4. Device mapper multipathing (DM Multipath)
  5. 基站 小区 扇区 载频
  6. 高项_第十四章信息文档管理与配置管理
  7. 慢慢欣赏linux之串口驱动代码分析 - 基于powerpc 2.6.x版本
  8. 阿里巴巴2星编程题-->选择物品
  9. notability怎么用_玩转平板上的学习软件之notability
  10. 用户行为分析需要知道的几个埋点小技巧