Я создал MCV этой проблемы, и я счастлив ее загрузить. Сначала я попытаюсь описать проблему.Сетка сетки за модальным окном
Создайте главное окно и поместите TDBGrid, подключенный к таблице, через любую доступную базу данных. OnShow окна подключиться к базе данных и открыть таблицу.
Создайте кнопку в главном окне, которое запускает немодальное окно.
В немодальном окне создайте кнопку, которая запускает модальное окно.
Выполните следующие действия, чтобы воспроизвести проблему.
Запуск приложения.
Поместите фокус в сетку и используйте колесико мыши, чтобы прокручивать вверх и вниз.
Нажмите кнопку, чтобы запустить немодальное окно.
Пока открыто немодальное окно, щелкните обратно в сетку в главном окне и снова используйте колесико мыши для прокрутки вверх и вниз.
Пока все еще сфокусировано в сетке, нажмите кнопку в немодальном окне, чтобы запустить модальное окно.
Пока модальное окно открыто, наведите указатель мыши на сетку и используйте колесо мыши. Вы увидите, что сетка прокручивается вверх и вниз.
Это не происходит на Windows 7, но на Windows, 10. Это может показаться безобидным, но это особенно опасно, когда у вас есть несколько слоев родитель потомок, построенных через 3 окна.
Предположим, что модальное окно содержит грандиозных детей главного окна. Если пользователь запускает модальное окно с целью редактирования конкретных детей-великомучеников и случайно использует их колесо мыши и перемещает внука в основное окно, теперь они редактируют грандиозных детей, которых они не собирались делать.
Следует отметить, что между шагами 4 и 5, если вы не ставите фокус в сетку перед запуском модального окна, эта проблема не возникает. Я попытался настроить фокус программно на элемент управления в немодальном окне, прежде чем показывать модальное окно без успеха.
ли правильно отключить главное окно, когда модальное окно показывает? –
Я не уверен, как проверить это? Я предполагаю, что он не отключен должным образом, но только на Windows 10. – FLDelphi
Он делает. AAMOF Я могу дублировать его с помощью сетки строк на W7. –