基于OpenCV的视频图像组态 (10): CEF浏览器与图形软件互嵌
来源:互联网 发布:淘宝电影票 编辑:程序博客网 时间:2024/04/30 11:28
开发者工具
CEF内核很强大,已经提供相当多的功能。
比如开发者工具,调用是如此的简单。
稍微包装一下,声明一个属性
__property bool ShowDevTool = { read = GetDevToolVisible, write = SetDevToolVisible }; bool __fastcall GetDevToolVisible(); void __fastcall SetDevToolVisible(bool value); bool __fastcall TCbwChromiumExplorer::GetDevToolVisible() { bool result = false; if(DevTools) result = DevTools->Visible; return result;} void __fastcall TCbwChromiumExplorer::SetDevToolVisible(bool visible) { if(!DevTools || !FBrowserParent) return; DevTools->Visible = visible; DevTools->Width = FBrowserParent->Width / 4; if(visible) Chromium->ShowDevTools(TPoint(0x80000000, 0x80000000), DevTools); else Chromium->CloseDevTools(DevTools); if(FSelfDevToolsFlag) OnResize(FBrowserParent);}
则调用的时候,直接切换该属性值即可。
GlobalChromiumExplorer->ShowDevTool = !GlobalChromiumExplorer->ShowDevTool;
实现效果
与已有窗口互嵌
研究一下代码,可片面得出结论:CEF可以与窗口句柄很好地整合。
拿以前编的图形软件来说事,之前如果要整合,需要把图形软件实现为OCX,然后在网页中调用。现在自己已经可以实现浏览器了,那就用另外一种方式进行整合 à 把目标窗口嵌入到CEF的句柄中。
先实现功能看看效果,用硬编码方式来处理:
GlobalChromiumExplorer->BrowserParent = FCurrentForm->Panel_Child;
FCurrentForm->ScrollBox->BringToFront();
FCurrentForm->ScrollBox->Align = alNone;
FCurrentForm->ScrollBox->Top = 430;
FCurrentForm->ScrollBox->Left = 270;
FCurrentForm->ScrollBox->Width = 1050;
FCurrentForm->ScrollBox->Height = 350;
演示效果
[注:如果图片不能显示,可到点击打开链接博客园查看,或者直接显示动画图片]
后续通过CEF访问取得网页中目标元素的位置与大小,然后将目标窗口嵌入到指定位置,即可实现已有窗口界面与网页之间的完美整合。
- 基于OpenCV的视频图像组态 (10): CEF浏览器与图形软件互嵌
- 基于OpenCV的视频图像组态 (9):CEF浏览器初步
- 基于OpenCV的视频图像组态 (11): CEF浏览器与C++通信
- 基于OpenCV的视频图像组态 (1) :时钟
- 基于OpenCV的视频图像组态 (2) :动画总体
- 基于OpenCV的视频图像组态 (4) :劈裂动画效果
- 基于OpenCV的视频图像组态 (5) :擦除动画效果
- 基于OpenCV的视频图像组态 (6): 形状动画效果
- 基于OpenCV的视频图像组态 (7) :轮子动画效果
- 基于OpenCV的视频图像组态 (14):音量控制
- 基于OpenCV的视频图像组态 (3):常见PPT动画1
- 基于OpenCV的视频图像组态 (8) :随机线条动画效果
- 基于OpenCV的视频图像组态 (12): 翻转式由远到近动画效果
- 基于OpenCV的视频图像组态 (13):VLC Player解码帧数据
- 基于Cef的简易浏览器开发(CefSharp)
- 基于Cef的简易浏览器开发(CefSharp)
- 基于内嵌浏览器内核(如XULRunner、CEF)来开发桌面软件
- python opencv的视频与图像操作
- Java--IO流
- openstack_ice之wsgi详解(paste从ini配置文件->routesr具体发布流程)
- 安卓手把手教你学习并实现 安卓耳机口音频转红外发射
- 关于qsort函数
- 定积分的基本性质3 保序性
- 基于OpenCV的视频图像组态 (10): CEF浏览器与图形软件互嵌
- Python(3)————函数
- flash闪回消息至前台
- linux磁盘共享nfs及iscsi
- 三子棋
- 普及练习场 交叉模拟 税收与补贴问题
- 定积分的基本性质4 绝对可积性
- 程序员面试宝典随笔记(一)--多态性
- 696. Count Binary Substrings