Перейти к содержанию
Fire Monkey от А до Я
  • 0

TWebBrowser и нажатия клавиш


Вадим Смоленский

Вопрос

Windows, Berlin. Когда TWebBrowser на форме получает фокус, он начинает перехватывать все нажатия клавиш. До FormKeyDown управление уже не доходит. Отключение свойства браузера CanFocus не помогает, своего события OnKeyDown у него нет. Как быть? В идеале хотелось бы оставить браузеру навигационные клавиши (стрелки, PgDn, PgUp, Home, End), но все остальные отправлять на форму. Возможно ли это?

Ссылка на комментарий

Рекомендуемые сообщения

  • 0
11 час назад, Вадим Смоленский сказал:

Возможно ли это?

нет. Веббраузер - нативный компонент, со своим собственным механизмом работы. Емнип, даже под Windows, даже используя штатный полнофункциональный IWebBrowser2 вы не получите нажатия из него.

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

Ссылка на комментарий
  • 0
3 часа назад, Вадим Смоленский сказал:

Что это за зверь?

https://msdn.microsoft.com/ru-ru/library/windows/desktop/ms644959(v=vs.85).aspx

Смотреть в основном про WH_KEYBOARD (перехват в рамках приложения) или WH_KEYBOARD_LL (перехват в рамках всей системы).

Примеров в гугле должно быть навалом, подойдут даже от D7 (возможно - с поправкой на юникод), ибо этот механизм не менялся уже сто лет.

Но - еще раз подчеркну - это привязка к винде.

Ссылка на комментарий

Присоединяйтесь к обсуждению

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

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...