Заблокированные окна
Окно может быть заблокировано
. Заблокированное окно (disabled window) не принимает вводимую информацию через клавиатуру или мышь от пользователя, но оно может принимать сообщения от других окон, из других прикладных программ и от системы. Прикладная программа обычно отключает окно, чтобы предотвратить использование окна пользователем. Например, прикладная программа может отключить командную кнопку в диалоговом окне, чтобы предотвратить выбор ее пользователем. Прикладная программа может открыть доступ к заблокированному окну в любое время; давая возможность окну восстановить нормальный ввод информации.По умолчанию, окно, когда создается, включено в работу. Однако приложение может определить стиль
WS_DISABLED, чтобы отключить новое окно. Прикладная программа включает или отключает существующее окно, используя функцию EnableWindow. Система отправляет сообщение WM_ENABLE окну тогда, когда собирается изменить его включенное состояние. Приложение может выяснить, включено ли окно, используя функцию IsWindowEnabled.Когда дочернее окно заблокировано, система передает сообщения о вводимой информации от мыши в окне потомка в родительское окно. Родитель использует сообщения, чтобы определить, включать ли дочернее окно. Для получения дополнительной информации о вводе данных от мыши, см.
Ввод данных от мыши.Только одно окно одновременно может принимать ввод данных от клавиатуры; в этом окне, как говорят, находится фокус клавиатуры. Если прикладная программа использует функцию
EnableWindow, чтобы отключить окно с фокусом клавиатуры, окно, в дополнение к блокировке, теряет фокус клавиатуры. Тогда EnableWindow устанавливает фокус клавиатуры в значение ПУСТО (NULL), не обозначая, какое окно имеет фокус. Если дочернее окно, или другое порожденное окно, имеет фокус клавиатуры, порожденное окно теряет фокус тогда, когда родительское окно заблокировано. Для получения дополнительной информации о фокусе клавиатуры, см. Ввод данных с клавиатуры.