mfc 内嵌 本地html,MFC程序中内嵌网页,附示例工程

news2024/3/3 7:45:54

最近在课程设计,因为小悠太懒了,是在不想用C++完成一些简单的文件上传下载操作,于是就想着将网页内嵌到程序中,上传下载神马的就直接使用网页Web来完成就好了,本示例中将演示在MFC程序中内嵌一个html网页

·介绍一下原理

首先要显示网页的话我们需要一个浏览器神马的,还好微软给了我们一个Web Browser的Activex,我们只要简单的将这个Activex放到我们的程序中就OK了.

·方法1,通过向导直接创建

小悠这里使用的是VS2010,其他的版本类似.

①我们先新建一个MFC的对话框程序.

②找到我们的对话框的资源,右键à插入Activex控件

69791c3a049a2b52c48af855cd6f8144.png

③在弹出的选项中我们找到 Microsoft Web Browser点击确认,然后就会生成一个控件,我们在控件上右键à添加变量,为这个控件关联一个变量,例如我的变量是m_Myweb

8e2aa8427c5b963a25722e23e582beaf.png

有了这个控件的变量,我们就直接设置需要显示的网址就Ok了,找到你的对话框的OnInitDialog添加上     m_Myweb.Navigate(L"http://www.youranshare.com",NULL,NULL,NULL,NULL);

OK,运行一下试试,看看是不是打开了 悠然品鉴啊~

·方法2,通过类向导创建一个CWebBrowser手动Create创建

①首先还是先创建一个MFC对话框的程序

②找到菜单 【项目】à【类向导】,

0c884d748eb56146c48c7fe6aca092aa.png

然后在 添加类的选项中选择Activex控件(注意是点击那个按钮的右侧的小三角)

0323689a459957b20354f02190c8db9b.png

然后在弹出的向导中按照图示,选中Microsoft Web Browser,然后导入IWebBrowser2的接口,点击完成.

fc59ed69fe036f28b2b33f7523dcc2f6.png

通过上述的步骤,我们就能生成一个 CWebBrowser2的类了,工程内就会多出CWebBrowser2类的头文件与源文件。

③我们有了这个CWebBrowser2类我们就可以通过这个类创建浏览器了;我们在对话框中添加一个CWebBrowser2的变量(别忘了引入头文件)

例如这里我创建的变量名称是 CWebBrowser2 m_MyWeb2;

④在对话框的OnInitDialog函数中添加我们的创建工作.//我想全屏显示,所以就计算了客户区域的大小

CRect rectClient;

GetClientRect(&rectClient);

m_MyWeb2.Create(NULL,NULL,WS_VISIBLE|WS_CHILD,rectClient,this,10086);

//我不想让浏览器弹出警告脚本的错误

m_MyWeb2.SetSilent(TRUE);//让他沉默吧~

m_MyWeb2.Navigate(L"www.youranshare.com",NULL,NULL,NULL,NULL);

⑤运行一下试试吧

82e86af7b09534820f88ae9a6aeede9f.png

·如果你的SetSilent()函数不能使用?

如果你的SetSilent()函数不能使用的话,那是因为在CWebBrowser2类中没有导入这个接口,我们直接手动在CWebBrowser2头文件中添加这个函数就OK了:

CWebBrowser2: SetSilent原型.void CWebBrowser2::SetSilent(BOOL bNewValue)

{

static BYTE parms[] =VTS_BOOL;

InvokeHelper(0x227, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,

bNewValue);

}

·两种方法的示例代码下载:

解压密码  yscode

本文内容以及代码示例出自悠然品鉴原创,未经许可请勿转载!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://nwjs.net/news/300063.html

如若内容造成侵权/违法违规/事实不符,请联系七分地网进行投诉反馈,一经查实,立即删除!

相关文章

最高5000倍加速模拟物理世界,育碧在修复bug上又进一步

晓查 发自 凹非寺量子位 出品 | 公众号 QbitAI“买bug送游戏”对育碧游戏的玩家来说简直是常态。即使是育碧的当家游戏《刺客信条》、《孤岛惊魂》系列也是bug也是多到令人发指。比如《刺客信条:大革命》中,主角的脸部建模突然失控,变成一张“…

AI帮你靠“想象”打字:手机电脑软键盘也能盲打了,准确率能达到95%

铜灵 发自 凹非寺量子位 出品 | 公众号 QbitAI有了机器学习,没有软键盘还能照样打字。凭啥?凭想象。来自韩国科学技术高级研究院在一项最新研究中,提出了一种完全靠想象的键盘:I-Keyboard,这个界面上看不到软键盘上的字…

php curl 内容采集

2019独角兽企业重金招聘Python工程师标准>>> function contentCollection($url){$data array(list>null,status>0);if(!$url){$data[info] 请传入采集地址;return $data;}if(!preg_match("/^http/", $url)){$url http://.$url;}preg_match("…

文科生如何入门机器学习:先看看这篇零基础教程,再多算几遍吧

晓查 发自 凹非寺量子位 出品 | 公众号 QbitAIAI技术变得越来越热门,很多人开始转行进入这一领域,其中当然也不乏文科生。他们在普遍缺乏大学数学知识的情况下,就不能入门机器学习了吗?最近有位Reddit网友David Code,他…

B站最火数学视频3Blue1Brown是如何制作的

授权转发自 知乎网友 李狗嗨原文地址:https://www.zhihu.com/question/57357012/answer/723888621相信很多人都知道3Blue1Brown,这是一个由斯坦福大学的数学系学生Grant Sanderson 创建的YouTube 频道。该频道从独特的视觉角度解说高等数学,内…

计算机硬件与游戏发展史,电脑硬件的发展历程中 什么是电竞SSD?

原标题:电脑硬件的发展历程中 什么是电竞SSD?身处21世纪的人们,早已经习惯了各类电子设备的充斥,并全方位的体验着智能设备所带来的便利。那么,我们平常所熟知的计算机设备,到底由那些重要部件组成&#xf…

滴滴正式分拆无人车业务,复刻Uber上市路径,传孙正义再加持

李根 发自 凹非寺 量子位 报道 | 公众号 QbitAI滴滴无人车,终于也官宣分拆了。今天(8月5日)滴滴出行宣布旗下自动驾驶部门,升级为独立公司,专注于自动驾驶研发、产品应用及相关业务拓展。滴滴出行CTO张博兼任自动驾驶新…

unity3d 动画中断并重新播放的解决办法

为什么80%的码农都做不了架构师?>>> 如果想中断某个正在播放的动画,然后重新播放? 比如玩家被敌人击中了,正在播放被击中的动画,不巧紧接着玩家又被敌人击中一次,此时就得中断动画并重新播放。…

BAT华为美团头条面试考什么?这份GitHub万星资源,告诉你面试题+答案+出题人分析...

铜灵 发自 凹非寺量子位 出品 | 公众号 QbitAI2020校招脚步临近,怎样备战即将到来的面试,在众多面试者中脱颖而出惊艳到面试官,化身大厂Offer收割机?GitHub上就有这样一个万星资源,整理了BAT华为、滴滴、头条等大厂可能…

FILO微型计算机,IBM-PC微机组成原理(ppt48)-咨询报告【PPT课件】

IBM-PC微机组成原理(ppt48)-咨询报告【PPT课件】2020-09-24 08:52:06【导读】微型计算机中的中央处理器也叫微处理器。运算器和控制器。件完成指定功能的各项操作。主存储器是用于存放程序和数据的部件。对每个存储单元内容的存和取是按照地址进。储一个二进制数0或1。每8位组成…

免费机器学习课程爆红:从概率与统计到全栈深度学习,英伟达工程师小姐姐整理...

乾明 发自 凹非寺 量子位 报道 | 公众号 QbitAI有一份适合按顺序依次学习的免费机器学习资源,在Twitter上火了。一天之间便获得5.9K点赞和1.5K转发。评论区中,”Thanks for sharing“此起彼伏,还有不少人呼朋唤友来观看。那么,这到…

[怪谈]唯有数学不会因时代的变迁而没落

前几天有个网友告诉我:数学在编程过程中完全没有用。我没反驳他,今天放出一篇“扯淡“文,来给大家洗洗脑。好多年前,我在某个公司做兼职顾问时,曾经给当时的老板扯淡过一个理论,当然那时还小小的杜撰了一篇…

GitHub趋势榜第一:用小姐姐自拍,生成二次元萌妹子,神情高度还原,反过来也可以...

栗子 发自 凹非寺量子位 报道 | 公众号 QbitAI如何能让一个小姐姐属于你?把她变成二次元的人类,就可以解锁一个老婆了。韩国游戏公司NCSOFT,最近开源了一只技艺精湛的AI。只要任意输入小姐姐的自拍,就能得到她在二次元的样子了&am…

围剿Sci-Hub力度升级!全球最大学术出版商:网址你也不要提,不然就发律师函...

鱼羊 晓查 发自 凹非寺量子位 出品 | 公众号 QbitAI全球最大学术出版商Elsevier再惹争议,他们又把枪口对准了提供论文免费下载的Sci-Hub。而且, 颇有“赶尽杀绝”的意味。提供文献整理工具的Citationsy发表博客文章表示,因为自己在博客中提供…

给Python加Markdown式排版,在线运行可做Jupyter替身丨谷歌大脑出品

郭一璞 发自 凹非寺 量子位 报道 | 公众号 QbitAIPython代码,现在可以直接排版了。前提是你装了这个名叫Python Handout的工具,只要敲代码,就能在任何文本编辑器里方便的转换成标题、代码、文本等各种样式,还能直接运行处Python代…

sim卡移动端漏洞解析

2019年下半年以来,伴随着两个核弹级Sim卡漏洞披露,多个Android和IOS漏洞的曝光,关于对应漏洞的移动设备武器又将纳入各国网络武器库,而需要注意的是,其中有多个漏洞已经被武器化且被利用。 奇安信威胁情报中心红雨滴安…

权限管理(shiro框架)

为什么80%的码农都做不了架构师?>>> 1. 权限管理的流程 页面中的菜单和按钮就是我们访问某个功能的入口。 无论是访问菜单或者按钮,要想完成某个业务操作,实际上是需要发送一个http请求,访问Action,在服务…

一盘棋都没下过,AI只听人类评论比赛,就学会了国际象棋,还战胜了DeepChess...

栗子 发自 凹非寺量子位 出品 | 公众号 QbitAI一只AI要学会国际象棋,是不是一定要下过棋才行?不一定。伦敦大学学院的小伙伴们,开发了一只新的国际象棋AI,只看人类对比赛的评论,就能学会下棋。AI的名字叫SentiMATE&…

孙剑:旷视不需要用冠军证明自己;看好自动机器学习技术

郭一璞 发自 高锟会议中心 量子位 报道 | 公众号 QbitAI“旷视成立8年了,不需要用这些冠军、这些比赛来证明自己。”在香港科学园高锟会议中心,旷视研究院院长孙剑这样表达了他对今年CVPR旷视拿下6个冠军的看法。对孙剑来说,不管之前在MSRA&a…