Многооконный интерфейс. Последовательность действий при перемещениях в окнах редактирования

Страницы работы

Содержание работы

Замечание.

Интерактивная настойка на нужный каталог: ppath=GetDir()

Лекция 13

Многооконный интерфейс

  Построение эффективного интерфейса доступно только при наличии

следующих средств:

1. Возможность работы с несколькими окнами одновременно. Это увеличивает рабочую поверхность монитора и снижает потребность в перемещениях по уровням и объектам приложения, отвлекающих пользователя и требующих затрат времени и  внимания.

2. Средства обеспечения удобного ввода/редактирования данных и

всестороннего их формального контроля.                    1

3. Возможность доступа к данным, представленными как в табличной,

так и в 'индивидуальной" форме.

4. Разнообразные средства управления процессом, адекватные механизмам

принятия решений, которыми мы пользуемся в жизни - меню и кнопки

с альтернативным и множественным выбором ,"настроечные" кнопки,

управляющие клавиши.

5. Использование мыши.

 В FoxPro эти задачи решаются с помощью команды READ.

Команда READ

Сейчас, когда рассмотрены все GET-объекты, приведем более полный

формат команды READ, а также некоторые смежные команды и

функции.

 READ [CYCLE]

      [ACTIVATE <выр L1>]

      [DEACTIVATE<выр L2>]

      [MODAL]

      [WITH <списококон>]

      [SHOW <выр L3>]

      [VALID <выр L4/выр N1>]

      [WHEN <выр L5>]

      [OBJECT <выр N2>]

      [NOMOUSE]

      [LOCK/NOLOCK]

      [TIMEOUT <выр N3>]

      [COLOR <списокцветовыхпар> /COLOR SCHEME <выр N4>]

    Команда активирует все выданные ранее команды @...GET/EDIT и позволяет произвольно перемещаться среди редактируемых полей, используя клавиши Tab/Shift-Tab и клавиши со стрелками. Редактирование может быть завершено (по умолчанию) при попытке продвинуть курсор за первое поле или ниже последнего, а также с помощью клавиш PgUp/PgDn. Выход может быть осуществлен при нажатии клавиш Escape, Ctri-End/W. В GET-полях доступны все средства редактирования данных, включая удаление, копирование и вклейку.

   При перемещениях в окнах редактирования осуществляется следующая

последовательность действий:

a)Когда команда READ выполняется первый раз:

   исполняется READ WHEN;

   активируется первое окно GET;

   выполняется READ ACTIVATE;

   выполняется READ SHOW;

   исполняется опция WHEN уровня GET первой команды @...GET

б)Когда активируется новое окно:

   выполняется опция VALID для поля, откуда происходит выход;

   выполняется READ DEACTIVATE;

   деактивируется текущее окно;

   активизируется новое окно с GET-ПОЛЯМИ;

   выполняется READ ACTIVATE;

   выполняется опция WHEN для нового поля.

  Опции команды:

CYCLE - запрещает выход из команды READ по достижении первого/

  последнего объекта, обслуживаемого данной командой внутри

  окна/экрана. При достижении такого поля курсор перемещается по

  кругу на последнее/первое поле. Выход из READ остается возможным в

  случае нажатия клавиш Escape, Ctrl-W/End и использования команды   CLEAR READ.

ACTIVATE <выр L1> - организует проверку условий,   когда делается попытка войти в очередное окно, управляемое данной   командой READ. Результат, возвращаемый <выр L1>, безразличен и не   препятствует входу в окна. Условия обычно реализуются в   пользовательских процедурах/функциях, которые могут содержать,   конечно, не только условия, но и любые действия по управлению (в том   числе поиск, предъявление меню, открытие/закрытие других окон,   выдача сообщений и т д.

DEACTIVATE <вырL2> - то же, но условие проверяется при выходе из   текущего окна. Если возвращается значение .Т., команда READ   завершается, если .F. - осуществляется переход в другое окно. MODAL - ограничивает доступ пользователя только к окнам,   обслуживаемым данной командой READ. Другие окна, даже если они   открыты, не будут доступны.

WITH <список окон> - задает перечень окон, к которым разрешен   доступ, например к окнам BROWSE. Опция MODAL подразумевается   тогда по умолчанию.

SHOW <выр L3> - выполняется всегда при появлении команды SHOW

GETS и служит обычно для задания процедуры обновления данных,   выводимых по командам @...SAY ...GET, или блокировки/разблокировки   GET-объектов. Значение, возвращаемое <вырL3>, игнорируется.

VALID <выр L4>/<выр N1> - управляет прекращением команды READ и   исполняется при попытке выхода из READ. Если <выр L4>=.T.,

Похожие материалы

Информация о работе