• CEF3 怎样禁止右键菜单


    CEF3 怎样禁止右键菜单 (2013-07-30 11:56:34)转载▼
    标签: cef3 右键菜单 分类: CEF3
    问题描述:
    CEF3 嵌入成功后,在网页点鼠标右键,出现英文菜单,应该怎样禁止掉呢?

    解决方法:

    对void ClientHandler::OnBeforeContextMenu 按如下改动即可:

    void ClientHandler::OnBeforeContextMenu(
    CefRefPtr browser,
    CefRefPtr frame,
    CefRefPtr params,
    CefRefPtr model) {
    if ((params->GetTypeFlags() & (CM_TYPEFLAG_PAGE | CM_TYPEFLAG_FRAME)) != 0) {
    // Add a separator if the menu already has items.
    if (model->GetCount() > 0)
    {
    model->Clear();
    //model->AddSeparator();
    }
    }
    }

    CEF3 的右键菜单过程 (2013-07-30 17:08:21)转载▼
    标签: cef3 右键菜单 分类: CEF3
    前提:
    使用 cef_binary_3.1453.1255_windows.7z (http://www.magpcss.net/cef_downloads/) 在VS2008 环境建立 MFC 应用程序,调试通过。将加载主页换成百度。

    菜单创建过程:
    当在网页点击鼠标右键时,下面的方法会执行:

    void ClientHandler::OnBeforeContextMenu(
    CefRefPtr browser,
    CefRefPtr frame,
    CefRefPtr params,
    CefRefPtr model) {
    if ((params->GetTypeFlags() & (CM_TYPEFLAG_PAGE | CM_TYPEFLAG_FRAME)) != 0) {
    // Add a separator if the menu already has items.
    if (model->GetCount() > 0)
    model->AddSeparator();

    // Add a "Show DevTools" item to all context menus.
    model->AddItem(CLIENT_ID_SHOW_DEVTOOLS, "&Show DevTools");

    CefString devtools_url = browser->GetHost()->GetDevToolsURL(true);
    if (devtools_url.empty() ||
    m_OpenDevToolsURLs.find(devtools_url) != m_OpenDevToolsURLs.end()) {
    // Disable the menu option if DevTools isn't enabled or if a window is
    // already open for the current URL.
    model->SetEnabled(CLIENT_ID_SHOW_DEVTOOLS, false);
    }

    // Test context menu features.
    BuildTestMenu(model);
    }
    }
    在此方法里,你可以用model->Clear();清除所有菜单项,也可以用model->AddSeparator();加分隔线,可以用 model->AddItem(CLIENT_ID_SHOW_DEVTOOLS, "&Show DevTools");增加菜单项。用model->SetEnabled(CLIENT_ID_SHOW_DEVTOOLS, false);灰化菜单项。

    菜单的响应:
    以 CLIENT_ID_SHOW_DEVTOOLS为例,在如下方法进行响应。

    bool ClientHandler::OnContextMenuCommand(
    CefRefPtr browser,
    CefRefPtr frame,
    CefRefPtr params,
    int command_id,
    EventFlags event_flags) {
    switch (command_id) {
    case CLIENT_ID_SHOW_DEVTOOLS:
    ShowDevTools(browser);
    return true;
    default: // Allow default handling, if any.
    return ExecuteTestMenu(command_id);
    }
    return false;
    }

  • 相关阅读:
    mtd-utils 工具的使用
    nand flash坏块管理OOB,BBT,ECC
    Ubifs Support
    linux 关闭显示器命令
    玩转shell之符号篇
    shell中的cut命令
    【详解】如何编写Linux下Nand_Flash驱动_v1.2
    Nand 的几个名词:oob,bbt,ecc
    mtd-utils 及 ubi-utils 交叉编译
    UBIFS分区制作及UBIFS烧写和启动
  • 原文地址:https://www.cnblogs.com/micro-chen/p/5694978.html
Copyright © 2020-2023  润新知