MFC Web浏览器
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浏览器相关推荐
- [C# 网络编程系列]专题四:自定义Web浏览器
前言: 前一个专题介绍了自定义的Web服务器,然而向Web服务器发出请求的正是本专题要介绍的Web浏览器,本专题通过简单自定义一个Web浏览器来简单介绍浏览器的工作原理,以及帮助一些初学者揭开浏览器这 ...
- Beaker:一个基于Electron的点对点Web浏览器
Beaker是一个基于Electron.Chromium和Node.js的实验性.点对点Web浏览器.Beaker包含新的基于Dat的API,用于构建无主机应用程序,同时又保持与传统Web的兼容性. ...
- 大多数Web浏览器中都可以使用PUT,DELETE,HEAD等方法吗?
我在这里看到了几个问题,例如如何调试RESTful服务 ,其中提到: 不幸的是,同一浏览器不允许我测试HTTP PUT,DELETE,并且在某种程度上甚至无法测试HTTP POST. 我还听说其他一些 ...
- 第十一章:WEB浏览器中的javascript
客户端javascript涵盖在本系列的第二部分第10章,主要讲解javascript是如何在web浏览器中实现的,这些章节介绍了大量的脚本宿主对象,这些对象可以表示浏览器窗口.文档树的内容.这些章节 ...
- 禁用Cookie在web浏览器中读取/写入c#应用程序
我希望网站无法读取cookie或在webbrowser c#控制应用程序中写入新的cookie.当webbrowser c#应用程序运行时,我宁愿禁用所有网站的所有读/写cookie操作,如果不是,那 ...
- 服务器应用程序不可用您试图在此 Web 服务器上访问的 Web 应用程序当前不可用。请点击 Web 浏览器中的“刷...
错误提示: 服务器应用程序不可用您试图在此 Web 服务器上访问的 Web 应用程序当前不可用.请点击 Web 浏览器中的"刷新"按钮重试您的请求. 管理员注意事项:详述此特定请求 ...
- [ZT]介绍 10 款非主流的 Web 浏览器
尽管大多数的互联网用户都在使用包括 IE.火狐和 Chrome 等主流浏览器,但互联网就是这么百花齐放,一些在某方面有特长的浏览器可能会受某些用户青睐,例如经常访问社交网络的会需要社交版浏览器之类的. ...
- python 浏览器,轻量级Python Web浏览器
这里有一个奇怪的要求,但是我真的不知道答案.在 我正在编写一个python应用程序,它显示web页面和本地存储的图像.在 我需要的是一种使用python显示web页面的方法,这种方法非常轻量级而且非常 ...
- 如何在Windows上使用64位Web浏览器
Google and Mozilla now offer 64-bit versions of Chrome and Firefox for Windows. Here's how to find o ...
最新文章
- 细节:js 创建对象的几种模式举例
- 《2020雇佣关系趋势报告》今发布:近三成受访者兼职,近七成工作量增加、考核变严格
- 什么是 Angular 的多级注入器
- 工作93:注意数据对应接口位置
- struts2线程安全
- debug没反应 eclipse_解决eclipse无法运行或调试的办法
- path png转svg_如何将jpg或png图像转换成svg并保存?
- dubbo 数据传输大小配置
- Idea打包jar 及jar包反编译为代码的多种方法
- 创建maven项目时添加自定义property属性
- 讲课大师 把微信消息同步转发到企业微信中
- C#,欧拉常数(Euler Constant)的算法与源代码
- Hazelcast IMDG参考中文版手册-第十一章-分布式查询
- 全国建筑模架业内人士齐聚联筑赚 携手并进同发展
- 文献阅读(44)—— 基于眼底照的近视深度学习算法和区块链平台,以促进人工智能医学研究:回顾性多队列研究
- xxxxxxxxxxxxx
- e的精确值是多少?[z]
- Magento订单打印(pdf格式) 转:鹏程万里
- w ndows7u1,旗舰版微软Windows7各个版本原版系统
- Google AIY | Vision Kit开箱深入试用