При работе с клавиатурой важную роль играет понятие фокуса ввода.
5. Принципы построения пользовательского интерфейса Фокус ввода - это то окно, которому поступают все сообщения от клавиатуры. Существует несколько способов перемещения фокуса ввода:
при нажатии кнопки мыши фокус передается тому окну, над которым это произошло;
окна диалога обычно переключают фокус между управляющими элементами диалога при нажатии определенных клавиш (стандартно это Tab и Shift-Tab);
посредством явного вызова функции установки фокуса ввода.
Окну, теряющему фокус ввода, обычно посылается уведомление об этом, и оно может предотвратить переход фокуса от себя. Окну, получающему фокус, передается сообщение о том, что оно получило фокус ввода.
В некоторых системах (X Window) понятия фокуса вообще нет - сообщения от клавиатуры всегда получает то окно, над которым находится курсор мыши.
5.1. Основные типы окон Любая система GUI имеет в своем составе достаточно большое количество стандартных типов окон, которые пользователь может применять непосредственно и на основе которых он может создавать свои собственные типы окон.
Нормальное ("классическое") окно состоит из заголовка (Caption), кнопки уничтожения (или системного меню) и рабочей области. Кроме этого могут присутствовать меню, кнопки минимизации (кнопка минимизации превращает окно в пиктограмму), максимизации (кнопка максимизации делает окно наибольшего возможного размера) и полосы прокрутки (Scroll Bar), служащие для управления отображением в окне объекта, слишком большого, чтобы целиком уместиться в нем (рис. 5.4).
Компьютерная графика. Полигональные модели Диалоговое окно представляет собой специальный чип окна, употребляемый для ведения диалога с пользователем. В качестве управляющих элементов применяется ряд специальных подокон - кнопки, переключатели, списки, поля редактирования и т. д.
Основной функцией диалоговых окон является организация взаимодействия с его подокнами. Любой диалог, как правило, включает в себя несколько кнопок, одна из которой является определенной по умолчанию; нажатие клавиши Enter эквивалентно нажатию этой кнопки. Обычно присутствует и кнопка отмены; нажатие клавиши Esc эквивалентно нажатию этой кнопки.