cef客户端开发—禁止拖拽并载入文件

文章介绍了CEF(CefSharp)框架的官方demo源码,重点讲解了如何通过继承CefDragHandler来禁止拖拽并载入文件的功能。首先分析了CSimpleApp和CSimpleClient类的作用,然后详细阐述了浏览器加载错误处理的实现步骤,并以此为基础,展示了禁止拖拽功能的实现过程,包括继承行为处理类、重写get方法和具体业务实现的三个步骤。

1.cef-demo源码简单讲解

a.参考源码-cef官方demo

https://bitbucket.org/chromiumembedded/cef/src/master/tests/

b.文件简介
  • CSimpleApp类:实现客户端本身的行为(如最小化、关闭)
  • CSimpleClient类:实现客户端所内嵌的网页行为(如下载、浏览器加载、右键菜单的生成)
c.分析源码

我们需要实现的是"禁止拖拽并载入文件"功能,属于内嵌的网页行为。我们参考CSimpleCilent类的其他内嵌网页行为的实现方法,便可以很容易地举一反三。下面以"浏览器加载"的网页行为为例子。

  1. CSimpleClient类继承对应的网页行为处理类,如CefLoadHandler(浏览器加载处理)

  2. 重写获取行为处理对象的函数,如

      virtual CefRefPtr<CefLoadHandler> GetLoadHandler() OVERRIDE {
        return this; }
    

    重写行为处理的业务函数,如(以下为浏览器加载失败的业务处理函数)

    void SimpleHandler::OnLoadError(CefRefPtr<CefBrowser> browser,
                                    CefRefPtr<CefFrame> frame,
                                    ErrorCode errorCode,
          
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值