Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
5 / 5 / 4
Регистрация: 26.08.2010
Сообщений: 262

Запрет правой кнопки мыши в Cromium

18.07.2013, 19:30. Показов 2186. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как запретить клик правой кнопкой мыши в Cromium.
В WebBrouser это решается так:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
function MouseProc(nCode: Integer; WP: wParam; LP: lParam): Integer; stdcall;
var
  MHS: TMouseHookStruct;
  WC: TWinControl;
begin
  Result := CallNextHookEx(HMouseHook, nCode, WP, LP);
  if nCode = HC_ACTION then
  begin
    MHS := PMOUSEHOOKSTRUCT(LP)^;
    if (WP = WM_RBUTTONDOWN) or (WP = WM_RBUTTONUP) then
    begin
      // Определяем контрол под курсором
      WC := FindVCLWindow(MHS.pt);
      // Если это TWebBrowser и у него есть PopupMenu, то вызываем PopupMenu
      if WC is TWebBrowser then
      begin
        Result := 1;
        if (TWebBrowser(WC).PopupMenu <> nil) and (WP = WM_RBUTTONUP) then
        begin
          if Pop then
            Exit;
          Pop := True;
          TWebBrowser(WC).PopupMenu.Popup(MHS.pt.x, MHS.pt.y);
          Pop := False;
        end;
      end;
    end;
  end;
end;
Но когда пробую что то подобное сделать для Cromium, то в нем нет PopupMenu, потому и не получается. Помогите пожалуйста решить проблему.

Добавлено через 57 минут
И еще интересует как запретить в Chromium переход по определенному адресу например как это в том же WebBrouser делается
Delphi
1
2
3
4
5
6
7
procedure TForm1.WebBrowser1BeforeNavigate2(ASender: TObject;
  const pDisp: IDispatch; const URL, Flags, TargetFrameName, PostData,
  Headers: OleVariant; var Cancel: WordBool);
begin
  cancel:=false;
  if (pos('cyberforum',url)) or (pos('yandex',url))>0 then cancel:=true;
end;
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.07.2013, 19:30
Ответы с готовыми решениями:

Запрет правой кнопки мыши в Chromium
нашёл такой код procedure TForm1.Chromium1BeforeMenu(Sender: TObject; const browser: ICefBrowser; const menuInfo:...

Запрет нажатия правой кнопки мыши в Edit
Как запретить вызов контекстного меня правой кнопкой мыши в Edit?

Запрет клика правой кнопкой мыши в Delphi XE2
Здравствуйте столкнулся с такой проблемой. Нужно сделать запрет правой кнопки мыши. Код такой: var HookID: THandle; function...

4
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33399 / 21509 / 8236
Регистрация: 22.10.2011
Сообщений: 36,907
Записей в блоге: 12
18.07.2013, 22:47
Цитата Сообщение от demiancz Посмотреть сообщение
Как запретить клик правой кнопкой мыши в Cromium.
Да всё так же, как и запретить открытие нового окна:
Delphi
1
2
3
4
5
6
7
procedure TForm1.Chromium1BeforeMenu(Sender: TObject;
  const browser: ICefBrowser; const menuInfo: PCefHandlerMenuInfo;
  out Result: Boolean);
begin
  Result := True; // Magic
  // Тут можно показать своё TPopup-меню, при желании
end;
Цитата Сообщение от demiancz Посмотреть сообщение
как запретить в Chromium переход по определенному адресу
Ну, ты уже, наверное, сам догадался:
Delphi
1
2
3
4
5
6
7
8
procedure TForm1.Chromium1BeforeBrowse(Sender: TObject;
  const browser: ICefBrowser; const frame: ICefFrame;
  const request: ICefRequest; navType: TCefHandlerNavtype; isRedirect: Boolean;
  out Result: Boolean);
begin
  if request.Url = 'https://www.cyberforum.ru/delphi-networks/' then // Любая проверка на твой вкус
    Result := True; // Опять Magic
end;
1
1 / 1 / 0
Регистрация: 15.07.2013
Сообщений: 108
03.11.2013, 13:51
UI, в uses подключил - ceflib и cefvcl
Миниатюры
Запрет правой кнопки мыши в Cromium  
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33399 / 21509 / 8236
Регистрация: 22.10.2011
Сообщений: 36,907
Записей в блоге: 12
03.11.2013, 13:59
Ну, и я подключил:



Что я не так сделал? Используется DCEF3, если что...
0
0 / 0 / 0
Регистрация: 11.01.2014
Сообщений: 11
11.01.2014, 16:05
UI, подключил модули эти, выскакивает ошибка
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.01.2014, 16:05
Помогаю со студенческими работами здесь

Переход по вкладкам PageControl правой кнопки мыши
Доброго времени суток! В моей проге необходимо, чтобы была возможность переходить по вкладкам при помощи правой кнопки мыши. Кто что...

Тренажёр мыши, нажатие левой и правой кнопки поочерёдно
Вообщем проблема такая, мне нужно сделать тренажёр мыши. Я всё сделал вроде, но есть одна проблемка. Изначально на форме видно Image1 и...

Меню по нажатию правой кнопки мыши в поле Edit
Добрый день есть ли в среде Rad Studio на Delphi программные средства что бы запретить вызов меню при нажатии кнопки мыши в поле Edit?

Делфи как уловить нажатие правой кнопки мыши?
нужно уловить нажатие правой кнопки мыши, желательно нажатие и отжатие для левой делал через онклик

Нужно сделать так, чтобы после нажатия правой кнопки мыши, кот снова начинал идти
В программе кот идет с края до края, все снова и снова... Нажатием правой кнопки он идет вправо, нажатием левой кнопки он идет влево. Все...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru