Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
3 / 3 / 0
Регистрация: 10.06.2016
Сообщений: 417

Запрет контекстного меню на CppWebBrowser

28.02.2018, 10:27. Показов 1823. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Например, запрет контекстного меню на Memo осуществляется так:
C++
1
2
3
//Прописать в FormCreate следующий код, предварительно разместив на форме комлнент PopupMenu
PopupMenu1->Items->Clear();
Memo1->PopupMenu = PopupMenu1;
А как запретить контекстное меню на CppWebBrowser?
код
C++
1
2
PopupMenu1->Items->Clear();
CppWebBrowser1->PopupMenu = PopupMenu1;
не работает
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
28.02.2018, 10:27
Ответы с готовыми решениями:

Не срабатывает запрет на появление контекстного меню в IE
Здравствуйте. Скажите пожалуйста, почему этот код работает везде, кроме IE (проверял на версии 7)? Что нужно сделать, чтобы запретить...

Запрет контекстного меню и выделения в окне WebBrowser
Расскажите как запретить контекстное меню в окне Браузера при нажатии правой кнопки мыши ну и тоже самого с клвиатуры. Вот нашел два...

Запрет показа контекстного меню на хидере DataGridView
Собственно код. Контекстное меню показывается везде и даже на хидере. Как запретить показ меню при клике на хидере DataGridView? ...

11
 Аватар для lifeforce
266 / 211 / 89
Регистрация: 27.09.2010
Сообщений: 1,234
28.02.2018, 10:53
Инженер_3,
а так? ->PopupMenu = 0;
0
 Аватар для Dinkin
783 / 556 / 136
Регистрация: 31.05.2013
Сообщений: 3,142
Записей в блоге: 3
28.02.2018, 11:02
Цитата Сообщение от Инженер_3 Посмотреть сообщение
PopupMenu1->Items->Clear();
Memo1->PopupMenu = PopupMenu1;
Это не запрет,а уловка-костыль
100% помню, что на форуме был топик народ кидал варианты как можно заблокировать меню по правой кнопки...там вариантов 10 было, (тока искать лень мне)=)
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33197 / 21493 / 8233
Регистрация: 22.10.2011
Сообщений: 36,882
Записей в блоге: 12
28.02.2018, 12:30
Я просто оставлю это здесь: Disabling TCppWebBrowser's context menu or "right-click" menu
1
3 / 3 / 0
Регистрация: 10.06.2016
Сообщений: 417
28.02.2018, 12:41  [ТС]
Проблему решил, точнее нашёл, КАК.
Всё элементарно просто, учитывая что CppWebBrowser - это компонент, в котором пишется html-код, то и колупать нужно в этом html-коде.
А именно, в тэге <body> добавить oncontextmenu="return false":
HTML5
1
<body oncontextmenu="return false">
Добавлено через 1 минуту
Цитата Сообщение от volvo Посмотреть сообщение
Я просто оставлю это здесь: Disabling TCppWebBrowser's context menu or "right-click" menu
такое я пробовал, только с русскоязычного сайта - не работает - нет многих подключаемых файлов.
0
управление сложностью
 Аватар для Почтальон
1693 / 1306 / 259
Регистрация: 22.03.2015
Сообщений: 7,545
Записей в блоге: 5
28.02.2018, 12:41
Инженер_3, может проще в свойствах компонента это сделать ?
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33197 / 21493 / 8233
Регистрация: 22.10.2011
Сообщений: 36,882
Записей в блоге: 12
28.02.2018, 12:44
Цитата Сообщение от Инженер_3 Посмотреть сообщение
Всё элементарно просто
Ну, тогда попробуй отобразить вот эту самую страничку: https://www.cyberforum.ru/cpp-builder/thread2202774.html, но с отключенным контекстным меню. А потом перейти из нее в корень раздела, и при этом чтобы меню также было отключенным. Тебе придется копировать странички на диск, менять их содержимое, и только потом отображать. Куда же элементарная простота вдруг скрылась?
0
3 / 3 / 0
Регистрация: 10.06.2016
Сообщений: 417
28.02.2018, 12:50  [ТС]
Хотя, если в CppWebBrowser грузить чужой html-код, то
HTML5
1
<body oncontextmenu="return false">
не подходит, но если код свой, то лучше и не придумаешь.

Добавлено через 3 минуты
Цитата Сообщение от Почтальон Посмотреть сообщение
Инженер_3, может проще в свойствах компонента это сделать ?
В каких именно?

Добавлено через 1 минуту
volvo, <body oncontextmenu="return false"> только для своего кода, например,
справочная система на html загруженная в CppWebBrowser
0
управление сложностью
 Аватар для Почтальон
1693 / 1306 / 259
Регистрация: 22.03.2015
Сообщений: 7,545
Записей в блоге: 5
28.02.2018, 12:51
Цитата Сообщение от Инженер_3 Посмотреть сообщение
В каких именно?
Под рукой билдера нет. Разве нет свойств у компоненты ?
0
3 / 3 / 0
Регистрация: 10.06.2016
Сообщений: 417
28.02.2018, 14:37  [ТС]
Цитата Сообщение от Почтальон Посмотреть сообщение
Под рукой билдера нет. Разве нет свойств у компоненты ?
Есть PopupMenu, но по аналогии с Memo ничего не выходит.
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33197 / 21493 / 8233
Регистрация: 22.10.2011
Сообщений: 36,882
Записей в блоге: 12
28.02.2018, 15:23
Инженер_3, стандартно же: на форму кладешь TApplicationEvents и в нем по OnMessage глушишь сообщения о нажатиях правой кнопки, одиночном или двойном:
C++
1
2
3
4
5
6
7
8
9
10
void __fastcall TForm1::ApplicationEvents1Message(tagMSG &Msg, bool &Handled)
{
    if(Msg.message == WM_RBUTTONDOWN || Msg.message == WM_RBUTTONDBLCLK)
    {
        if(IsChild(CppWebBrowser1->Handle, Msg.hwnd))
        {
            Handled = true;
        }
    }
}
Во всех остальных контролах контекстное меню сохранится. Если надо запретить везде - то убираешь проверку на IsChild...
2
3 / 3 / 0
Регистрация: 10.06.2016
Сообщений: 417
28.02.2018, 20:09  [ТС]
volvo, За код СПАСИБО.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
28.02.2018, 20:09
Помогаю со студенческими работами здесь

Запрет контекстного меню (ContextMenuStrip1) в пустом месте listbox
Сделал контекстное меню по Listbox. вот код: Private Sub ListBox1_MouseDown(sender As Object, e As MouseEventArgs) Handles...

Запрет в некоторых столбцах табличной формы контекстного меню фильтрации и сортировки
Здравствуйте! Подскажите пожалуйста, как в табличной части в некоторых столбцах запретть контекстное меню сортироваки и фильтрации данных.

CppWEbBrowser. Запрет на открытие нового окна, и открытие его в том же окне
Создаю программку-браузер. Столкнулся с такой проблемой, когда нажимаю на определенную ссылку срабатывает target=&quot;_blank&quot; и...

Изменение контекстного меню
Доброго вечера! Есть документы во вьюве. При щелчке правой кнопкой мыши по backend-документу открываетя контекстное меню с кучей функций,...

Открытие контекстного меню
у меня есть контекстное меню void CameraView::contextMenuEvent(QGraphicsSceneContextMenuEvent *event) { QMenu menu; ...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru