您的位置:首页 > 其它

转:CEF嵌入到单文档mfc

2015-06-19 11:29 323 查看
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);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: