|
|
|
Сообщение от NVDA "Окно недоступно" после TOpenDialog.Execute
|
|||
|---|---|---|---|
|
#18+
Моя довольно старая программа используется слабовидящими людьми, они работают с ней с помощью программ экранного доступа. Программы экранного доступа - это разновидность софта, помогающего пользователям с ослабленным зрением считывать информацию с экрана монитора (например, такое программное приложение сообщает с помощью синтеза речи, какой именно элемент окна какой именно программы является активным в данный момент). NVDA - одна из таких программ экранного доступа, бесплатная и довольно популярная. Недавно я, наконец, изменил значение одного параметра в файле *.DPR. Было: Код: pascal 1. Стало: Код: pascal 1. Долго не хотел менять значение потому, что ожидал каких-либо проблем. Так и оказалось - сегодня получил сообщение от слабовидящего пользователя. Суть проблемы. В программе вызывается модальное окно: Код: pascal 1. В этом окне пользователь нажимает кнопку "Выбрать файл", открывается окно диалога для выбора файла. Код: pascal 1. И после выполнения этой команды программа экранного доступа сообщает: "Окно недоступно" . И действительно, пользователю надо кликнуть мышью на модальном окне, чтобы окно стало доступно для клавиатурного ввода (такое действие легко сделать зрячему пользователю, а для слабовидящих это неудобно) . Недоступным становится только дочернее модальное окно: если в главном окне программы вызвать TOpenDialog.Execute, NVDA не выдает сообщение о проблеме. Вопрос: как избежать того, что окно становится недоступным после вызова диалога выбора файла? Пока использую такой способ: Код: pascal 1. 2. 3. 4. 5. 6. Это работает, NVDA не "теряет" окно. Но, может быть, есть более "правильный" способ решить эту проблему? Delphi 2009, Windows 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2020, 13:23 |
|
||
|
Сообщение от NVDA "Окно недоступно" после TOpenDialog.Execute
|
|||
|---|---|---|---|
|
#18+
Такой способ тоже работает: Код: pascal 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2020, 13:40 |
|
||
|
Сообщение от NVDA "Окно недоступно" после TOpenDialog.Execute
|
|||
|---|---|---|---|
|
#18+
crossaНо, может быть, есть более "правильный" способ решить эту проблему? Есть: использовать параметр ParentWnd при вызове TOpenDialog.Execute. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2020, 13:57 |
|
||
|
|

start [/forum/topic.php?fid=58&fpage=35&tid=2037958]: |
0ms |
get settings: |
6ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
45ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 201ms |
| total: | 325ms |

| 0 / 0 |
