Delphi - Как программно заставить модальный диалог реагировать как событие, аналогичное нажатию на фоновую форму - PullRequest
0 голосов
/ 30 января 2019

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

Внешнее событие (в нашем случае: сканирование с помощью ручного сканера штрих-кода) обеспечивает ввод данных для приложения.Когда диалоговое окно находится перед приложением, я хотел бы сообщить пользователю, что сканирование / ввод не обрабатывается.Идея состоит в том, чтобы смоделировать поведение, которое происходит при нажатии на форму на заднем плане модального диалога.По умолчанию Windows тогда позволяет диалоговому окну граничить с « flash » и слышен звук (« bonk », как описано здесь: Delphi - как генерировать событие, когдапользователь нажимает за пределами модального диалога? ).

Мой вопрос:

Можно ли программно смоделировать это поведение, чтобы пользователь знал, что диалог долженбыть первым закрытым?

Дополнительный вопрос: это правильная обработка пользовательского интерфейса или диалоговое окно должно отображать дополнительный информационный текст (например, в виде текста нижнего колонтитула) вместо просто ' flash ',Мне нравится избегать отображения другого модального диалога поверх первого;мне это тоже не кажется лучшей практикой.

Спасибо за любые отзывы / решения.

1 Ответ

0 голосов
/ 30 января 2019

Используйте для этого функции FlashWindow или FlashWindowEx.

...