转:CEF嵌入到单文档mfc

1.下载:
http://www.magpcss.net/cef_downloads/下载cef binary 1.1364.1123 windows.zip(可能要FQ,百度goagent教程,最好使用谷歌浏览器FQ下载,因为goagent有chrome的插件)

2.编译:
http://dev.chromium.org/developers/how-tos/build-instructions-windows(可能要搭建许多开发环境,考验你网速的时候到了)
如果没法编译,去我的资源下载,就是不知道能不能用。

3.资源使用:
 a.将资源CEF中的lib.zip中的两个库放到你的工程下面,并添加引用(方法:右键你的工程-》属性-》连接-》输入-》附加依赖项,点击编辑,将这两个lib的名字(包括扩展名)复制到里面,用空行分割两个库的名称)。
 b.将include.zip中的文件包括文件夹拷到你的工程下面,并添加应用(方法:右键你的工程-》添加-》存在的Item-》选中你复制进去的所有东西添加)
 c.将add.zip中的文件包括local文件夹拷贝到你编译好的Debug目录下,没这些东西运行不起来。

4.工程应用:
 参照:http://blog.csdn.net/yhangleo/article/details/8482603,其中遇到以下问题:
 首先自己要建立一个基于单文档的mfc工程。后经测试,使用基于对话框的工程也可以实现,同样添加Create方法和OnSize方法即可。
 a.程序中的m_cWebClient是一个CefRefPtr<WebClient2> m_cWebClient;这个定义到你的xxxView.h文件中。
 b.如果编译时遇到关于OnAfterCreated的什么错误(具体忘了),那么将virtual void
OnAfterCreated(CefRefPtr<CefBrowser> browser)OVERRIDE;  改为:virtual
void OnAfterCreated(CefRefPtr<CefBrowser> browser)
{},这个在你建的WebClient.h文件中,你可能会名为其他名字。
 c.在xxxView.h中添加cef_app.h的引用,具体忘记是出了什么错误了,应该是什么东西没定义

d.OnCreate函数和OnSize函数不要手工添加,可能会注册什么的导致不会执行,需要使用编译器提供的添加消息来操作。具体在类查看中右击你的xxxView类,点击属性,然后在属性里面添加消息。

5.补充一句,libcef.dll相关库有Release版本和Debug版本,两者大小相差很大,我之前就一直纳闷,怎么我的
libcef.dll有100多M,而别人使用的才不到20M,后来发现我用的的debug版的,坑,故此另外上传一个Release版的
libcef.dll相关资源。

FQ查看参考地址如下:http://it.nittis.ru/mfc-cef.html

另外:按照上述方法,我的网页显示不能充满整个窗口,解决办法:(CEF_MFC.cpp为工程名.cpp文件,CEF_MFC是我的工程名)

将设置对话框初始大小的代码放置在CEF_MFC.cpp中的InitInstance()中,而不是放置在View.cpp的Create()中,代码如下
        //设置对话框初始大小
CRect   temprect(0,0,1000,800);
m_pMainWnd->SetWindowPos(NULL,0,0,temprect.Width(),temprect.Height(),SWP_NOZORDER|SWP_NOMOVE);

时间: 2024-11-05 14:47:53

转:CEF嵌入到单文档mfc的相关文章

vs2010 单文档MFC 通过加载位图文件作为客户区背景

实现效果: 这个其实是一个非常常见的功能,大家都会考虑给自己简单的工程做一个背景界面.其实只要在view类中重载OnEraseBkgnd()这个函数就好了. 代码如下: BOOL CdddView::OnEraseBkgnd(CDC* pDC) { // TODO: 在此添加消息处理程序代码和/或调用默认值 CString string("b.bmp"); HBITMAP hbitmap=(HBITMAP)::LoadImage(AfxGetInstanceHandle(),strin

C++MFC编程笔记day07 MFC单文档绘图保存、多文档绘图保存

完善绘图例子(day06中的),加上保存功能 1 设计和编写图形类 CShape 1.1 成员变量 CPoint m_ptBegin; CPoint m_ptEnd; UINT m_nType; 1.2 支持序列化 1.2.1 继承自CObject 1.2.2 添加序列化的声明宏和实现宏 1.2.3 重写虚函数Serilize(),在函数中,完成成员变量的序列化 2 由于保存多个图形,引入MFC的集合类CObArray,保存的是CObject 对象的地址. 3 图形数据需要保存到文档类中,在该类

OpenCASCADE(一) VS2017+OpenCASCADE+MFC 下载配置安装运行单文档程序画个基本图形

原文作者:aircraft 原文链接:https://www.cnblogs.com/DOMLX/p/12368154.html 一.下载OpenCASCADE 官网下载是: http://www.opencascade.org/getocc/download/loadocc/ 我的百度云已经下载好的是: 链接:https://pan.baidu.com/s/1D-fw8vspKTOZ8GmAGBSVGw 提取码:mzp3 下载后运行完毕就是这样: 二.VS2017 MFC单文档配置OpenCA

MFC:“Debug Assertion Failed!” ——自动生成的单文档程序项目编译运行就有错误

今天照着孙鑫老师的VC++教程学习文件的操作,VS2010,单文档应用程序,项目文件命名为File,也就有了自动生成的CFileDoc.CFileView等类,一进去就编译运行(就是最初自动生成的项目),编译通过,可运行时直接弹出错误框,有点小懵,,,啥都没做就给我看这个: 图一   错误提示框 后来搜索一查,网上好多类似的错误以及解决方案,几乎都试了个遍,有: 方法(1)-重新生成解决方案,或者将项目文件目录下Debug文件夹删了,重新生成Release版: 方法(2)-可以先声明一个临时的C

openGL三维网格坐标,旋转,缩放,灯光设置,纹理读取,模型读取(MFC单文档)

最近学习计算机图形学写的基于opengGL的作业 源码下载链接:链接:http://pan.baidu.com/s/1slANShZ 密码:hbwj 1.三维网格坐标建立 2.基本3维图形创建 3.鼠标相应旋转缩放 4.键盘相应旋转缩放 5.灯光设置 6.纹理载入映射 7.读取模型 关于MFC配置编写openGL网上有很多教程 需要的函数创建一般是: OnCreat() OnDestroy() Onsize() PreCreateWindow() OnDraw() 在我的MFC单文档项目中ena

C++MFC编程笔记day05 文档类-单文档和多文档应用程序

文档类 1 相关类 CDocument类-父类是CCmdTarget类,所以,文档类也可以处理菜单等 命令消息.作用保存和管理数据. 注意事项:如何解决断言错误 2 在视图中显示文档中的数据 2.1 CView::OnInitialUpdate 作用初始化视图,在附加文档之后,显示之前,由框架调用. 2.2 CView::GetDocument 获取与视图相关的文档 2.3 CFrameWnd::InitialUpdateFrame 作用,初始化更新框架,可以引起CView::OnInitial

MFC学习(七) 单文档程序

1 MFC单文档程序的主要类 (1)文档类(Document) 即应用程序处理的数据对象,文档一般从 MFC 中 CDocument 中派生.CDocument 类用于相应数据文件的读取以及存储 Cview 类所需要观察和处理的信息. (2)视类(View) 视相当于文档在应用程序中的观察窗口,它确定了用户对文档的观察方式和用户编辑文档的方式.对于图形来说视就好比我们进行绘图工作的画布,对图形的操作都是在视上进行的.另外,视类中有一个重要的成员函数 OnDraw() 函数.重载的 OnDraw(

MFC单文档的视图分割

最近做的工作里包括了MFC单文档的分割,过程很简单,但还是想记录下来. 如下进行了单文档分割为三个视图的操作: 1 利用类向导建立额外的两个view  基类是CView 2 在mainFirm.cpp中包含两个新加的view的头文件 3 在mainFirm.h中添加分割窗口的成员变量CSplitterWnd m_wndSplitter; 4 在mainFirm.cpp中重写oncreateclient BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT

VTk与MFC单文档程序联合编程

兴趣需要,想做下VTK与MFC想结合的程序,MFC快要在桌面程序上面失去市场份额了,现在大多使用QT来做,但是本科的时候学的就是MFC,也相对来说比较熟悉,所以就想使用MFC来写一个简单的单文档程序.首先我们需要在编译的时候将USEGUISUPPORT->USEMFC勾选上,才能在MFC平台上使用VTK.网络上现在大多流行两种VTK和MFC的方法,其实两者结合的关键就是将VTK的绘制窗口vtkrenderwindow与MFC中的view窗口相一致,让VTK上的绘制图形能够在MFC上的VIEW类上