Отключить контекстное меню в Chromium Embedded 3 (DCEF3)

Я пытаюсь отключить правую кнопку мыши (контекстное меню) в окне Chromium Embedded (DCEF3), но я не получаю, я не нашел никаких настроек, чтобы сделать это изначально.

Я могу, например, отключить "View Source", я использую код ниже, но я действительно хочу отключить контекстное меню или не хочу, чтобы оно появлялось.

Примечание: я использую это в DLL " Chromium.dll "libray для использования с "Inno Setup", равным Inno Web Брауэр.

procedure TInnoChromium.OnContextMenuCommand(Sender: TObject;
  const browser: ICefBrowser; const frame: ICefFrame;
  const params: ICefContextMenuParams; commandId: Integer;
  eventFlags: TCefEventFlags; out Result: Boolean);
begin
if (commandId = 132) then Result := True; // MENU_ID_VIEW_SOURCE
end;

2 ответов


чтобы отключить контекстное меню в DCEF 3, вам нужно будет обработать OnBeforeContextMenu событие и очистить его


Примечание: В C++ версия:

void ClientHandler::OnBeforeContextMenu(
    CefRefPtr<CefBrowser> browser,
    CefRefPtr<CefFrame> frame,
    CefRefPtr<CefContextMenuParams> params,
    CefRefPtr<CefMenuModel> model) {
  CEF_REQUIRE_UI_THREAD();

    //Clear disables the context menu
    model->Clear();
  }
}