Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.07.2013, 18:34   #1
demiancz
Форумчанин
 
Регистрация: 28.09.2010
Сообщений: 246
По умолчанию Как запретить правую кнопку мыши для TCromium

Как запретить клик правой кнопкой мыши в Cromium.
В WebBrouser это решается так:
Код:
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, потому и не получается. Помогите пожалуйста решить проблему.
Смотреть фильмы HD Фильмы для планшетов
demiancz вне форума Ответить с цитированием
Старый 18.07.2013, 19:30   #2
demiancz
Форумчанин
 
Регистрация: 28.09.2010
Сообщений: 246
По умолчанию

И еще интересует как запретить в Chromium переход по определенному адресу например как это в том же WebBrouser делается
Код:
procedure TForm1.WebBrowser1BeforeNavigate2(ASender: TObject;
  const pDisp: IDispatch; const URL, Flags, TargetFrameName, PostData,
  Headers: OleVariant; var Cancel: WordBool);
begin
  cancel:=false;
  if (pos('programmersforum',url)) or (pos('yandex',url))>0 then cancel:=true;
end;
Смотреть фильмы HD Фильмы для планшетов
demiancz вне форума Ответить с цитированием
Старый 19.07.2013, 11:54   #3
astecenko
Homo Interneticus
Форумчанин
 
Аватар для astecenko
 
Регистрация: 04.03.2011
Сообщений: 611
По умолчанию

Цитата:
Как запретить клик правой кнопкой мыши в Cromium.
Если имеется в виду убрать дефолтноe контекстное меню, то в OnBeforeContextMenu прописываешь
Код:
model.Clear;
astecenko вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как отловить правую кнопку мыши? vovken1997 Общие вопросы Delphi 1 11.04.2012 18:55
как считать нажатия на кнопку мыши по OnMouseDown xander_var C++ Builder 0 14.04.2011 12:43
GTK+ нажмите кнопку мыши автоматически.Как XiechenG Общие вопросы C/C++ 2 09.06.2010 19:39
Как запретить нажимать кнопку используя хук? TwiX Общие вопросы Delphi 0 20.05.2010 20:53
запретить события мыши varelik Общие вопросы Delphi 1 14.04.2010 20:25