Navigation:  Операторы создания пользовательского интерфейса >

SELECT - Выбрать оконный элемент

Previous pageReturn to chapter overviewNext page

Выбрать оконный элемент/окно:

 select control [позиция] [конец позиции]

  control              - USE-метка оконного элемента

   позиция                - Указывает местоположение курсора внутри поля. Для полей ENTRY, TEXT, SPIN, COMBO указывается либо позиция символа, либо позиция первого символа блока выделения. Для структуры OPTION – это номер альтернативы выбора. Для управляющего поля LIST – номер QUEUE-элемента. Этот параметр также может задаваться с помощью синтаксиса свойств, как PROP:Selected или PROP:SelStart.

  конец позиции        - Указывает позицию последнего символа внутри полей ENTRY, TEXT, SPIN или COMBO. Позиции символов, указанные параметрами позиция и конец позиции, помечаются как начало и конец блока, предназначенного для операций «вырезания» (cut) и «склеивания» (paste). Этот параметр также может задаваться с помощью синтаксиса свойств, как PROP:SelEnd.

 

Оператор SELECT нарушает нормальную последовательность выбора полей, осуществляемую TAB-клавишей в структуре WINDOW. Он оказывает воздействие на последующее выполнение оператора ACCEPT. Параметр поле определяет то поле, которое будет обработано следующей итерацией ACCEPT-цикла. Если указанное поле заблокировано операторами DISABLE или HIDE, т. е. не может принять фокус ввода, то фокус устанавливается на следующее незаблокированное поле окна. Если параметр поле определяет объект в структуре TAB, которая в данный момент не имеет фокуса ввода, то перед тем как на объект будет переключен фокус ввода, лист будет перенесен на передний план.

SELECT с параметрами позиция и конец позиции определяет в поле блок выделения, предназначенный для операций «вырезания» (cut) и «склеивания» (paste).

SELECT без параметров устанавливает режим «принять все» (AcceptAll), еще называемый безостановочным режимом. Это режим редактирования поля, в котором каждое управляющее поле окна обрабатывается в последовательности их выбора клавишей TAB, когда для каждого поля порождается событие EVENT:Accepted. Это дает возможность выполнить процедуру проверки правильности ввода данных для всех полей, включая и те, которые не были затронуты пользователем.

 

Режим «принять все» отменяется, когда возникает одно из следующих условий:

·        Оператор SELECT(?) выбирает для редактирования то же самое поле. Как правило, такое случается тогда, когда введено недопустимое значение, и пользователь должен повторить ввод данных.

·        Установлено в 0 свойство Window{PROP:AcceptAll}. Значение свойства равно 1 когда установлен режим «принять все». Таким образом, присваивая значение атрибуту, можно устанавливать или отменять режим «принять все».

·        Нулевое или «пустое» значение поля, у которого присутствует атрибут REQ. Режим «принять все» отменяется, поле подсвечивается для ввода данных, отменяется обработка полей в последовательности выбора клавишей TAB.

 

Когда обработаны все поля, для данного окна генерируется событие EVENT:Completed.

 

 

 

См. также: ACCEPT, DISPLAY, POST, CHOICE