Вопросы

Как отобразить диалог поиска в элементе управления WebView2?

У меня есть старое приложение C ++ MFC, обновленное для использования элемента управления веб-браузера WebView2 на основе Edge. В противном случае у меня все работает нормально, одна из оставшихся проблем — открытие в нем диалогового окна «Найти» через пункт меню «Редактировать-Найти» основного приложения MFC или через Ctrl + F (который также перехватывается фреймворком MFC). Что у меня сейчас есть:

m_webView->ExecuteScript(L"window.find(\"\", 0, 0, 0, 0, 0, 1);");

где m_webView — указатель на ICoreWebView2 интерфейс.

Проблема в том, что иногда он вызывает диалоговое окно «Найти», иногда — нет. Иногда это происходит после обновления страницы, иногда нет. Когда я закрываю диалоговое окно «Найти» из креста, он обычно отказывается открывать его снова.

Как я могу заставить его вести себя правильно? Может быть, есть способ, который не требует использования Javascript?

Обновление: похоже, это сработало только в том случае, если нажатие клавиши Ctrl + F каким-то образом было отправлено непосредственно в элемент управления WebView2, минуя MFC. Похоже, что указанная выше строка Javascript никогда не работала. Так, может быть, есть способ имитировать Ctrl + F для элемента управления WebView2?

Читать:
C11 Atomic Acquire / Release и x86_64 отсутствие согласованности загрузки / сохранения?

Похоже на проблему управления фокусом — какой бы элемент управления в MFC был последним в фокусе, получает последовательность Ctrl + F.   —  person Paavo    schedule 02.07.2021

Правильно, в основном это была проблема с фокусом, обработчик событий GotFocus иногда перемещал фокус с элемента управления webview2. Тем не менее, похоже, нет способа заставить работать пункт меню «Правка-Найти». Да, я знаю, что меню сейчас не в моде …   —  person Paavo    schedule 02.07.2021

Похожие записи

Swift — как дать тень UISearchBar, но * не * его кнопку отмены?

admin

Невозможно импортировать torch.distributed.rpc

admin

ng serve не открывает браузер (хром) для локального хоста на правильном порту

admin

Автоматический вход на сайт с помощью скрипта Google Apps

admin

java.exe не распознается как программа или пакетный файл с внутренними или внешними командами, когда java добавляется в путь

admin

Многокомпонентная загрузка Amazon S3 с использованием низкоуровневого API Java загружает только одну часть

admin