Можно ли переключать форму Windows между "модальной" и "немодальной" или между .Show()
и .ShowDialog()
, оставаясь при этом активной в той же форме. Я понял, что свойство .Modal
доступно только для чтения.
Мне нужно временно заблокировать основное приложение из-за конфликтов ярлыков, чтобы пользователь мог вводить текст в текстовое поле в форме без вызова ярлыков (см. Мой первоначальный вопрос об этой проблеме: Подавление ярлыков основного приложения и отправка нажатий клавиш только для формирования )
Есть идеи? :)
РЕДАКТИРОВАТЬ, ярлыки не подавляются, даже если основное приложение заблокировано:
Мне удалось сделать форму "модальной" / заблокировать основное приложение, используя BOOL EnableWindow( HWND hWnd, BOOL bEnable );
.
В документации приведены цитаты:
Включает или отключает ввод с клавиатуры и мыши в указанное окно или элемент управления.
(https://docs.microsoft.com/en-us/windows/desktop/api/winuser/nf-winuser-enablewindow)
Это частично работает, так как ввод с мыши подавлен, но, к сожалению, пока нет ввода с клавиатуры в основное приложение.
Какие-нибудь подсказки, другие идеи?