Иллюстрированный самоучитель по Турбо Паскалю
Модальные видимые элементы
Все программы в среде Turbo Vision рассчитаны на диалоговый способ
взаимодействия с пользователем, а следовательно, в них активно используются
точки ветвления, управляемые командами пользователя (точки диалога). В точке
диалога создается активный видимый элемент, называемый модальным элементом.
Примером модального элемента является диалоговое окно. Когда в программе
создается и активизируется модальный элемент, только этот элемент и его
подэлементы могут взаимодействовать с пользователем. Любая часть дерева видимых
элементов, не являющаяся модальным элементом или не принадлежащая ему, не может
быть активна в этот момент. Если, например, на экране развернуто диалоговое
окно, любые отметки мышью вне его пределов или нажатие на не предусмотренные в
этом окне командные клавиши будут игнорироваться.
Единственным исключением из этого правила являются командные клавиши и
соответствующие поля для мыши, определенные в строке статуса. Эти клавиши (поля)
всегда доступны пользователю и нажатие на них (отметка их мышью) обрабатывается
модальным элементом точно также, как если бы они были определены в нем, хотя
этот элемент может и не владеть строкой статуса.
Чтобы временно исключить из списка активных команду (или группу команд),
определенную в строке статуса, используется метод DisableCommands. После
завершения работы модального элемента можно восстановить активность команд
методом EnableCommands. Параметром обращения к этим методам служит произвольное
множество типа TCommandSet, содержащее до 256 кодов команд. В Turbo Vision тип
TCommandSet определен следующим образом:
type
TCommandSet = set of Byte;
Таким образом запрещать (и разрешать) можно только те команды, коды которых
принадлежат диапазону 0...255.
Временно запрещенные команды выделяются в строке статуса пониженной яркостью
(оттенком).