BOX ,AT( ) [,USE( )] [,DISABLE] [,COLOR( )] [,FILL( )] [,ROUND] [,FULL] [,SCROLL] [,HIDE]
[,LINEWIDTH( )] [,LAYOUT( )] [,EXTEND( )]
BOX
Размещает в окне или отчете прямоугольную область.AT
Задает первоначальные размер и расположение объекта (PROP:AT). Если атрибут опущен, то значения по умолчанию выбираются библиотечной подпрограммой во время выполнения.USE
Метка соответствия поля, служащая для того, чтобы осуществить ссылку на это поле в исполняемых операторах (PROP:Use).DISABLE
Указывает, что когда окно WINDOW (или APPLICATION) раскрывается впервые, данное поле выглядит затушеванным (PROP:Disable).COLOR
Задает цвет рамки для объекта (PROP:COLOR). Если этот атрибут опущен, то рамки нет.FILL
Указывает цвет внутренней области поля (PROP:Fill). По умолчанию внутренняя область поля не окрашена.ROUND
Задает, что углы прямоугольника скругленные (PROP:Round). По умолчанию углы прямые.FULL
Указывает, что поле занимает всю протяженность окна по любому из опущенных в атрибуте AT измерений - длине или высоте (PROP:Full). Не допустим в структуре REPORT.SCROLL
Указывает, что поле подвергается скроллингу вместе с окном (PROP:Scroll). Не допустим в структуре REPORT.HIDE
Задает, что когда окно WINDOW или APPLICATION раскрывается в первый раз, данное поле не прорисовывается. Для того, чтобы отобразить это поле нужно использовать оператор UNHIDE (PROP:Hide). В отчетах не будет происходить процесса печати, пока не будет выполнен оператор UNHIDE.LINEWIDTH
Указывает толщину рамки прямоугольника (PROP:Linewidth).LAYOUT
Указывает, что объект будет отображен в направлении слева направо или справа налево (PROP:LAYOUT).EXTEND
Указывает, что используется специальная информация форматирования документа. Эта информация включает допустимую строку с атрибутами, которые определяют поведение отчета для данного типа документа. Допустим только в отчетах.Управляющее поле
BOX представляет в структуре WINDOW, TOOLBAR или REPORT прямоугольную область в заданном атрибутом AT месте и заданного размера. На это поле не может переключаться фокус ввода и оно не может генерировать события.Пример
:MDIChild WINDOW('Child One'),AT(0,0,320,200),MDI,MAX,HVSCROLL
!
Незакрашенный, с черной рамкой:BOX,AT(0,0,20,20)
!
Незакрашенный, с черной рамкой, затушеванный:BOX,AT(0,20,20,20),USE(?Box1),DISABLE
!
Незакрашенный, с черной рамкой и скругленными углами:BOX,AT(20,20,20,20),ROUND
!
Закрашенный, с черной рамкой:BOX,AT(40,40,20,20),FILL(COLOR:ACTIVEBORDER)
!
Незакрашенный, с рамкой цвета рамки активного окна:BOX,AT(60,60,20,20),COLOR(COLOR:ACTIVEBORDER)
!
Подлежащий скроллингу:BOX,AT(480,180,20,20),SCROLL
END
CustRpt REPORT,AT(1000,1000,6500,9000),THOUS
CustDetail DETAIL,AT(0,0,6500,1000)
!
Незакрашенный, с черной рамкойBOX,AT(0,0,20,20),USE(?B1)
!
Незакрашенный, с черной рамкой и скругленными угламиBOX,AT(20,20,20,20),ROUND
!
Закрашенный, с черной рамкойBOX,AT(40,40,20,20),FILL(COLOR:ACTIVEBORDER)
!
Незакрашенный, с рамкой цвета рамки активного отчетаBOX,AT(60,60,20,20),COLOR(COLOR:ACTIVEBORDER)
END
END
Смотри
также: PANELобъявить кнопку)
BUTTON(
текст) ,AT( ) [,CURSOR( )] [,USE( )] [,DISABLE] [,KEY( )] [,MSG( )] [,HLP( )] [,SKIP][,STD( )] [,FONT( )] [,ICON( )] [,DEFAULT] [,IMM][,REQ] [,FULL] [,SCROLL] [,ALRT( )]
[,HIDE] [,DROPID( )] [,TIP( )] [,FLAT] [,REPEAT( )] [,DELAY( )] [,| LEFT | ] [,TRN] [,LAYOUT]
| RIGHT|
BUTTON
Помещает командную кнопку в окне или на панели инструментов.текст Строковая константа, содержащая надпись, которая должна выводиться на кнопке (наряду с заданной пиктограммой) (PROP:Text). Для того, чтобы указать “горячую букву” (клавишу ускоренного доступа) для кнопки, константа может содержать символ амперсанд (&).
AT
Задает первоначальные размеры и расположение кнопки (PROP:AT). Если атрибут опущен, то значения по умолчанию устанавливаются библиотечной подпрограммой во время выполнения.CURSOR
Задает форму, которую должен принимать курсор мыши, при попадании на кнопку (PROP:Cursor). Если этот атрибут кнопки опущен, то используется значение атрибута CURSOR структуры WINDOW, если же и тот не указан, то курсор имеет форму, используемую в среде Windows по умолчанию.USE
Метка соответствия поля, служащая для того, чтобы осуществить ссылку на это поле в исполняемых операторах(PROP:USE).DISABLE
Указывает, что когда окно WINDOW (или APPLICATION) раскрывается впервые, данная кнопка выглядит затушеванной (PROP:DISABLE).KEY
Задает целочисленную константу или мнемоническое имя кода клавиши, которая вызывает немедленное переключение фокуса на данную кнопку (PROP:KEY).MSG
Задает строковую константу, содержащую текст, который следует вывести в строке состояния, когда на данную кнопку переключен фокус(PROP:MSG).HLP
Задает строковую константу, содержащую идентификатор системы справки для данной кнопки(PROP:HLP).SKIP
Указывает, что на кнопку не переключается фокус ввода, и доступ к ней может быть осуществлен только посредством мыши или клавиши ускоренного доступа(PROP:SKIP).STD
Целочисленная константа или мнемоническое имя, которое определяет для данной кнопки “стандартное в системе Windows действие” (PROP:STD).FONT
Задает шрифт, используемый для данной кнопки (PROP:FONT).ICON
Задает имя графического файла или имя стандартной пиктограммы, которая должна высвечиваться на поверхности данной кнопки (PROP:ICON).DEFAULT
Указывает, что при нажатии пользователем клавиши ENTER кнопка автоматически “нажимается” (PROP:DEFAULT).IMM
Указывает, что для данного поля непрерывно генерируется событие, начиная с момента нажатия левой кнопки мыши и до момента ее отпускания (PROP:IMM). Если же этот атрибут опущен, то события генерируются только в момент нажатия и отпускания левой кнопки мыши.REQ
Задает, что при нажатии данной кнопки, библиотечная процедура автоматически проверяет все поля для ввода данных с атрибутом REQ в этом окне на предмет наличия в них данных отличных от пробелов и нулей.(PROP:REQ).FULL
Указывает, что поле занимает всю протяженность окна по любому из опущенных в атрибуте AT измерений - длине или высоте (PROP:FULL).SCROLL
Указывает, что поле подвергается скроллингу вместе с окном (PROP:SCROLL).ALRT
Задает активные “горячие клавиши” для данного поля (PROP:ALRT).HIDE
Задает, что когда окно WINDOW или APPLICATION раскрывается в первый раз, данное поле не прорисовывается (PROP:HIDE). Для того, чтобы отобразить это поле нужно использовать оператор UNHIDE.DROPID
Указывает, что данное управляющее поле может служить областью в которой происходит вторая часть операции “потащить и отпустить” - отпускание объекта (PROP:DROPID).TIP
Задает текст, который выводится как “всплывающая подсказка”, когда курсор мыши задерживается на экранном объекте (PROP:ToolTIP).FLAT
Указывает, что кнопка является плоской всегда, за исключением тех случаев, когда курсор проходит над полем (PROP:FLAT). Требуется атрибут ICON.REPEAT
Указывает коэффициент, с которым генерируется EVENT:Accepted, когда кнопка с атрибутом IMM удерживается пользователем в нажатом положении (PROP:REPEAT). Требуется атрибут IMM.DELAY
Указывает задержку между первой и второй генерацией EVENT:Accepted для кнопки с атрибутом IMM (PROP:DELAY). Требуется атрибут IMM.LEFT
Указывает, что пиктограмма выводится слева от текста (PROP:LEFT).RIGHT
Указывает, что пиктограмма выводится справа от текста (PROP:RIGHT).TRN
Указывает, что печатаемые или отображаемые символы прозрачны и не загораживают собой фон на котором размещены.LAYOUT
Указывает, что объект будет отображен в направлении слева направо или справа налево (PROP:LAYOUT).Поле
BUTTON представляет собой прямоугольную кнопку в окне WINDOW или на панели инструментов (не допустима в отчетах), местоположение которой и размеры задаются атрибутом AT.Кнопка с атрибутом IMM генерирует EVENT:Accepted с того момента, как только пользователь, указав на кнопку курсором, нажимает левую кнопку мыши и генерация продолжается до тех пор, пока кнопка не будет отпущена. Это позволяет соответствующие кнопке BUTTON операторы по обработке события выполнять непрерывно до тех пор, пока кнопка мыши не будет отпущена. Коэффициент и задержка (временная пауза) перед генерацией события могут быть установлены с помощью атрибутов REPEAT и DELAY. Для кнопки без атрибута IMM событие
EVENT:ACCEPTED генерируется только в момент нажатия и отпускания левой кнопки мыши.Кнопка BUTTON с атрибутом REQ является кнопкой “проверки обязательных полей”. Заполнение полей типа TEXT и ENTRY с атрибутом REQ не проверяется до тех пор, пока не будет нажата кнопка BUTTON с атрибутом REQ или не будет выполнена процедура INCOMPLETE. Фокус ввода переключается на первое незаполненное поле из числа обязательно заполняемых.
На поверхности кнопки с атрибутом ICON в дополнение к значению параметра текст выводится пиктограмма (по умолчанию текст выводится под ней). Кроме того, значение параметра текст служит для определения клавиши ускоренного доступа.
Генерируемые события:
EVENT:Selected
На управляющее поле переключен фокус ввода.EVENT:Accepted
Пользователь нажал на кнопку.EVENT:PreAlertKey
Пользователь нажал горячую клавишу определенную атрибутом ALRT.EVENT:AlertKey
Пользователь нажал горячую клавишу определенную атрибутом ALRT.EVENT:Drop
Успешная операция “потащить и отпустить” в данное поле.Пример
:MDIChild WINDOW('Child One'),AT(0,0,320,200),MDI,MAX,HVSCROLL
BUTTON('1'),AT(0,0,20,20),USE(?B1)
BUTTON('2'),AT(20,0,20,20),USE(?B2),KEY(F10Key)
BUTTON('3'),AT(40,0,20,20),USE(?B3),MSG('Button 3')
BUTTON('4'),AT(60,0,20,20),USE(?B4),HLP('Button4Help')
BUTTON('5'),AT(80,0,20,20),USE(?B5),STD(STD:Cut)
BUTTON('6'),AT(100,0,20,20),USE(?B6),FONT('Arial',12)
BUTTON('7'),AT(120,0,20,20),USE(?B7),ICON(ICON:Question)
BUTTON('8'),AT(140,0,20,20),USE(?B8),DEFAULT
BUTTON('9'),AT(160,0,20,20),USE(?B9),IMM
BUTTON('10'),AT(180,0,20,20),USE(?B10),CURSOR(CURSOR:Wait)
BUTTON('11'),AT(200,0,20,20),USE(?B11),REQ
BUTTON('12'),AT(220,0,20,20),USE(?B12),ALRT(F10Key)
BUTTON('13'),AT(240,0,20,20),USE(?B13),SCROLL
END
CODE
OPEN(MDIChild)
ACCEPT
CASE ACCEPTED()
OF ?B1
! Выполнить некоторые действия
END
END
Смотри
также: CHECK, OPTION, RADIO(объявить кнопку с независимой фиксацией)
CHECK(
текст) ,AT( ) [,CURSOR( )] [,USE( )] [,DISABLE] [,KEY( )] [,MSG( )] [,HLP( )] [,SKIP][,FONT( )] [,ICON( )] [,FULL] [,SCROLL] [,ALRT( )] [,HIDE] [,DROPID( )] [,TIP( )]
[, | LEFT | ] [,VALUE( )] [,TRN] [,COLOR( )] [,FLAT] [,LAYOUT] [,EXTEND( )]
| RIGHT |
CHECK
Помещает кнопку с независимой фиксацией в окно WINDOW, на панель инструментов или отчет (PROP:CHECK).текст Строковая константа, содержащая надпись, которая должна выводиться для данной кнопки (PROP:Text). Для того, чтобы указать “горячую букву” (клавишу ускоренного доступа) для кнопки, константа может содержать символ амперсанд (&).
AT
Задает первоначальные размеры и расположение кнопки (PROP:AT). Если атрибут опущен, то значения по умолчанию выбираются библиотечной подпрограммой во время выполнения.CURSOR
Задает форму, которую должен принимать курсор мыши, при попадании на кнопку (PROP:CURSOR). Если этот атрибут кнопки опущен, то используется значение атрибута CURSOR структуры WINDOW, если же и тот не указан, то курсор имеет форму, используемую в среде Windows по умолчанию. Не допустим в отчетах.USE
Метка переменной, которая должна принимать значения, соответствующие состоянию кнопки (PROP:USE). Если не указан атрибут VALUE, то ноль (0) означает выключено, а единица (1) - включено.DISABLE
Указывает, что когда окно WINDOW (или APPLICATION) раскрывается впервые, данная кнопка выглядит затушеванной (PROP:DISABLE).KEY
Задает целочисленную константу или мнемоническое имя кода клавиши, которая вызывает немедленное переключение фокуса на данную кнопку и переключение ее состояния (PROP:KEY). Не допустим в отчетах.MSG
Задает строковую константу, содержащую текст, который следует вывести в строке состояния, когда на данную кнопку переключен фокус (PROP:MSG). Не допустим в отчетах.HLP
Задает строковую константу, содержащую идентификатор системы справки для данной кнопки (PROP:HLP). Не допустим в отчетах.SKIP
Указывает, что на кнопку не переключается фокус ввода, и доступ к ней может быть осуществлен только посредством мыши или клавиши ускоренного доступа (PROP:SKIP). Не допустим в отчетах.FONT
Задает шрифт, используемый для данной кнопки (PROP:FONT).ICON
Задает имя графического файла или имя стандартной пиктограммы, которая должна высвечиваться на поверхности включенной кнопки (PROP:ICON). Не допустим в отчетах.FULL
Указывает, что поле занимает всю протяженность окна или полосы отчета по любому из опущенных в атрибуте AT измерений - длине или высоте (PROP:FULL).SCROLL
Указывает, что поле подвергается скроллингу вместе с окном (PROP:SCROLL). Не допустим в отчетах.ALRT
Задает активные горячие клавиши для данного поля (PROP:ALRT).HIDE
Задает, что когда окно WINDOW или APPLICATION раскрывается в первый раз, данное поле не прорисовывается или не печатается в отчетах (PROP:HIDE). Для того, чтобы отобразить это поле или чтобы оно печаталось нужно использовать оператор UNHIDE.DROPID
Указывает, что данное управляющее поле может служить областью в которой происходит вторая часть операции “потащить и отпустить” - отпускание объекта (PROP:DROPID). Не допустим в отчетах.TIP
Задает текст, который выводится как “всплывающая подсказка”, когда курсор мыши задерживается на экранном объекте (PROP:ToolTIP). Не допустим в отчетах.LEFT
Указывает, что текст выводится слева от кнопки с независимой фиксацией (PROP:LEFT).RIGHT
Указывает, что текст выводится справа от кнопки с независимой фиксацией (положение по умолчанию) (PROP:RIGHT).VALUE
Указывает, какое значение – истина или ложь принимает USE-переменная, когда данный объект выбирается пользователем (PROP:VALUE).TRN
Указывает, что объект выводится на “прозрачном” фоне (PROP:TRN).COLOR
Указывает цвет фона для текста объекта (PROP:COLOR).FLAT
Указывает, что кнопка является плоской всегда, за исключением тех случаев, когда курсор проходит над полем (PROP:FLAT). Требуется атрибут ICON. Не допустим в отчетах.LAYOUT
Указывает, что объект будет отображен в направлении слева направо или справа налево (PROP:LAYOUT).EXTEND
Указывает, что используется специальная информация форматирования документа. Эта информация включает допустимую строку с атрибутами, которые определяют поведение отчета для данного типа документа. Допустим только в отчетах.С помощью объекта
CHECK в окно, панель инструментов или отчет в позицию, заданную атрибутом AT, помещается кнопка-переключатель.Кнопка CHECK с атрибутом ICON выглядит как фиксирующаяся кнопка с нарисованной на ней пиктограммой. Когда кнопка отжата, то переключатель выключен, а когда кнопка нажата, то переключатель включен.
По умолчанию, когда кнопка выключена, USE-переменная принимает значение ноль (0); когда включена то USE-переменная принимает значение единица (1). Для автоматической установки USE-переменной к отличному от значения по умолчанию можно использовать атрибут
VALUE или динамические свойства PROP:TrueValue и PROP:FalseValue. Если для USE-переменной используются строка, то необходимо явно присвоить значение атрибуту VALUE.Генерируемые события:
EVENT:Selected
На кнопку переключен фокус.EVENT:Accepted
Пользователь переключил состояние кнопки.EVENT:PreAlertKey
Пользователь нажал заданную атрибутом ALRT горячую клавишу.EVENT:AlertKey
Пользователь нажал заданную атрибутом ALRT горячую клавишу.EVENT:Drop
Успешная операция переноса объекта в данную кнопку.Пример
:MDIChild WINDOW('Child One'),AT(0,0,320,200),MDI,MAX,HVSCROLL
CHECK('1'),AT(0,0,20,20),USE(C1)
CHECK('2'),AT(0,20,20,20),USE(C2),VALUE('T','F')
END
CustRpt REPORT,AT(1000,1000,6500,9000),THOUS
CustDetail DETAIL,AT(0,0,6500,1000)
CHECK('1'),AT(0,0,20,20),USE(C1)
CHECK('2'),AT(20,80,20,20),USE(C2),LEFT
CHECK('3'),AT(0,100,20,20),USE(C3),FONT('Arial',12)
END
END
CODE
OPEN(MDIChild)
ACCEPT
CASE ACCEPTED()
OF ?C1
IF C1 = 1 THEN DO C1Routine.
OF ?C2
IF C2 = 'T' THEN DO C2Routine.
END
END
Смотри
также: BUTTON, OPTION, RADIO
COMBO (объявить комбинированное окно списка)
COMBO(
шаблон) ,FROM( ) ,AT( ) [,CURSOR( )] [,USE( )] [,LAYOUT( )][,DISABLE] [,KEY( )] [,MSG( )] [,HLP( )][,SKIP][,FONT( )][,FORMAT( )][,DROP][,COLUMN][,VCR][,FULL][,GRID( )][,SCROLL]
[,ALRT( )][,HIDE][,READONLY][,REQ][,NOBAR][DROPID( )][,TIP( )] [,FLAT][,TRN][,COLOR()]
[,| MARK()|] [, | HSCROLL |][, | LEFT |][, | INS|][, | UPR |][,MASK]
| IMM | | VSCROLL | | RIGHT | | OVR | | CAP |
| HVSCROLL | | CENTER |
| DECIMAL |
COMBO
Помещает в окно или панель инструментов поле для ввода данных вместе со связанным с ним окном списком элементов данных.шаблон Шаблон для отображения данных, который указывает формат вводимых в это поле данных (PROP:Text).
FROM
Задает источник для выводимых в списке элементов данных (PROP:FROM).AT
Задает первоначальные размеры и расположение комбинированного окна списка (PROP:AT). Если атрибут опущен, то значения по умолчанию выбираются библиотечной подпрограммой во время выполнения.CURSOR
Задает форму, которую должен принимать курсор мыши, при попадании в это поле (PROP:CURSOR). Если этот атрибут опущен, то используется значение атрибута CURSOR структуры WINDOW, если же и тот не указан, то курсор имеет форму, используемую в среде Windows по умолчанию.USE
Метка соответствия поля, которая служит для ссылок на данное поле в исполняемых операторах, или метка переменной, которая получает значение выбранного или введенного элемента данных (PROP:USE).LAYOUT
Указывает, что объект будет отображен в направлении слева направо или справа налево (PROP:LAYOUT).DISABLE
Указывает, что когда окно WINDOW (или APPLICATION) раскрывается впервые, данное поле выглядит затушеванным (PROP:DISABLE).KEY
Задает целочисленную константу или мнемонический код клавиши (или комбинации клавиш), с помощью которой фокус немедленно переключается на это комбинированное окно списка (PROP:KEY).MSG
Задает строковую константу, содержащую текст, который следует вывести в строке состояния, когда на данное поле переключен фокус (PROP:MSG).HLP
Задает строковую константу, содержащую идентификатор системы справки для данного поля (PROP:HLP).SKIP
Указывает, что для ввода данных в это поле фокус ввода переключается только посредством мыши или клавиши ускоренного доступа, и не задерживается на этом поле после завершения ввода данных (PROP:SKIP).FONT
Задает шрифт для вывода текста в комбинированном окне списка (PROP:FONT).FORMAT
Задает формат для отображения данных в окне списка (PROP:FORMAT).DROP
Задает выпадающее окно списка и число элементов данных, которое содержит выпадающая часть (PROP:DROP).COLUMN
В многоколоночном окне списка задает длину выделенной полосы-курсора (PROP:COLUMN).VCR
При наличии линейки горизонтального скроллинга задает наличие слева от линейки кнопок, подобных клавишам управления на видеомагнитофоне (PROP:VCR).FULL
Указывает, что по любому из опущенных параметров атрибута AT (ширина или высота) окно расширяется таким образом, чтобы занимать всю протяженность окна (PROP:FULL).GRID
Задает цвет линий сетки между колонками в списке (PROP:GRID).SCROLL
Указывает, что поле подвергается скроллингу вместе с содержимым окна (PROP:SCROLL).ALRT
Задает активные горячие клавиши для данного поля (PROP:ALRT).HIDE
Задает, что когда окно WINDOW или APPLICATION раскрывается в первый раз, данное поле не прорисовывается (PROP:HIDE). Для того, чтобы отобразить это поле нужно использовать оператор UNHIDE.READONLY
Указывает, что в поле нельзя ввести произвольные данные, а можно только выбрать значение из окна списка (PROP:READONLY).NOBAR
Задает, что выделенная полоса отображается, только когда фокус переключается на окно списка (PROP:NOBAR).DROPID
Указывает, что данное управляющее поле может служить областью в которой происходит вторая часть операции “потащить и опустить” - отпускание объекта (PROP:DROPID).TIP
Задает текст, который выводится как “всплывающая подсказка”, когда курсор мыши задерживается на экранном объекте (PROP:ToolTIP).FLAT
Указывает, что объект не имеет объемной границы вокруг (PROP:FLAT). Это применимо также и для объектов ENTRY и LIST.TRN
Указывает, что объект выводится на “прозрачном” фоне (PROP:TRN).COLOR
Задает цвет фона и цвета активизированного объекта (PROP:COLOR).REQ
Указывает, что данное поле не может остаться пустым (или равным нулю) после завершения обработки окна (PROP:REQ).MARK
Задает режим выбора нескольких элементов одновременно (PROP:MARK).IMM
Задает генерацию события при нажатии пользователем любой клавиши (PROP:IMM).HSCROLL
Указывает, что когда какая-либо часть данных по горизонтали не помещается в окне списка, к нему автоматически присоединяется линейка горизонтального скроллинга (PROP:HSCROLL).VSCROLL
Указывает, что когда какая-либо часть данных по вертикали не помещается в окне списка, к нему автоматически присоединяется линейка вертикального скроллинга (PROP:VSCROLL).HVSCROLL
Указывает, что когда какая-либо часть данных не помещается в окне списка, к нему автоматически присоединяются линейки вертикального и горизонтального скроллинга.LEFT
Задает, что данные в окне списка выравниваются влево (PROP:LEFT).RIGHT
Задает, что данные в окне списка выравниваются вправо (PROP:RIGHT).CENTER
Задает, что данные в окне списка выравниваются по центру (PROP:CENTER).DECIMAL
Задает, что данные в окне списка выравниваются по десятичной точке (PROP:DECIMAL).INS/OVR
Задает при вводе данных режим вставки или замещения (PROP:INS и PROP:OVR). Допустимо только в окнах, имеющих атрибут MASK.UPR/CAP
Указывает, что данные вводятся прописными буквами или по типу имен собственных (Первая Буква В Каждом Слове Прописная) (PROP:UPR и PROP:CAP).MASK
Задает режим редактирования шаблона ввода поля ENTRY (PROP:MASK).С помощью поля
COMBO в заданном атрибутом AT месте окна или панели инструментов (не допустимо в отчете) помещается поле для ввода и связанный с ним список элементов данных (комбинация полей типа ENTRY и LIST - комбинированное окно списка). Пользователь может набрать данные на клавиатуре или выбрать элемент из списка. Введенные с клавиатуры данные автоматически не проверяются на соответствие одному из элементов списка. Поле ввода данных комбинированного окна действует как “наращиваемый локатор” в окне списка - по мере ввода символов пользователем выделенная полоса-курсор в окне устанавливается на наиболее соответствующий элемент списка.В поле COMBO с атрибутом DROP до тех пор, пока на поле не переключится фокус и пользователь не нажмет клавишу стрелка вниз или не щелкнет на пиктограмме справа от поля, отображается только выбранный в данный момент элемент. А как только пользователь нажмет клавишу стрелка вниз или щелкнет на пиктограмме, появится
список возможных вариантов (“выпадает”), позволяя пользователю выбрать элемент.Поле COMBO с атрибутом IMM генерирует
EVENT:NewSelection каждый раз, когда пользователь перемещает выделенную полосу-курсор на другой элемент списка, или нажимает клавишу (все клавиши неявно “горячие”), вызывающую скроллинг высвеченных элементов списка. Тем самым программе предоставляется удобная возможность повторно заполнить высвечиваемую очередь или получить выделенную в данный момент запись для того, чтобы вывести на экран другие поля этой записи. У COMBO-поля с атрибутом VCR имеются слева от линейки горизонтального скроллинга (если она есть) кнопки управления скроллингом, подобные кнопкам управления видеомагнитофоном. Эти кнопки позволяют пользователю использовать мышь для прокрутки списка.Генерируемые события:
EVENT:Selected
На кнопку переключен фокус.EVENT:Accepted
Пользователь либо выбрал ввод из списка, либо ввел данные напрямую в поле и перешел к другому полю.EVENT:Rejected
Пользователь ввел несоответствующее шаблону значение.EVENT:NewSelection
Выбранное значение в списке изменилось (подсвеченный курсор переместился вверх или вниз) или пользователь нажал какую-нибудь клавишу (только с атрибутом IMM).EVENT:PreAlertKey
Пользователь нажал заданную атрибутом ALRT горячую клавишу.EVENT:AlertKey
Пользователь нажал заданную атрибутом ALRT горячую клавишу.EVENT:Drop
Успешная операция переноса объекта в данное поле.EVENT:ScrollUp
Пользователь нажал стрелку вверх (только для окон с атрибутом IMM).EVENT:ScrollDown
Пользователь нажал стрелку вниз (только для окон с атрибутом IMM).EVENT:PageUp
Пользователь нажал клавишу PgUp (только для окон с атрибутом IMM).EVENT:PageDown
Пользователь нажал клавишу PgDn (только для окон с атрибутом IMM).EVENT:ScrollTop
Пользователь нажал клавишу Ctrl-PgUp (только для окон с атрибутом IMM).EVENT:ScrollBottom
Пользователь нажал клавишу Ctrl-PgDn (только для окон с атрибутом IMM).EVENT:PreAlertKey
Пользователь нажал клавишу с печатным символом (только для окон с атрибутом IMM) или заданную атрибутом ALRT горячую клавишу.EVENT:AlertKey
Пользователь нажал клавишу с печатным символом (только для окон с атрибутом IMM) или заданную атрибутом ALRT горячую клавишу.EVENT:Locate
Пользователь нажал видеомагнитофонную клавишу поиска (только для окон с атрибутом IMM).EVENT:ScrollDrag
Пользователь передвинул бегунок на линейке скроллинга и его новое положение отражено в PROP:VScrollPos (только для окон с атрибутом IMM).EVENT:ScrollTrack
Пользователь передвигает бегунок на линейке скроллинга и его новое положение отражено в PROP:VScrollPos (только для окон с атрибутом IMM).EVENT:DroppingDown
Пользователь нажал кнопку “стрелка вниз” (только для окон с атрибутом DROP)EVENT:DroppedDown
Список раскрыт (только для окон с атрибутом DROP).EVENT:ColumnResize
Размер колонки в списке изменился.Пример
:MDIChild WINDOW('Child One'),AT(0,0,320,200),MDI,MAX,HVSCROLL
COMBO(@S8),AT(0,0,20,20),USE(C1),FROM(Que)
COMBO(@S8),AT(20,0,20,20),USE(C2),FROM(Que),KEY(F10Key)
COMBO(@S8),AT(40,0,20,20),USE(C3),FROM(Que),MSG('Button 3')
COMBO(@S8),AT(60,0,20,20),USE(C4),FROM(Que),HLP('Check4Help')
COMBO(@S8),AT(80,0,20,20),USE(C5),FROM(Q) |
,FORMAT('5C~List~15L~Box~'),COLUMN
COMBO(@S8),AT(100,0,20,20),USE(C6),FROM(Que),FONT('Arial',12)
COMBO(@S8),AT(120,0,20,20),USE(C7),FROM(Que),DROP(8)
COMBO(@S8),AT(140,0,20,20),USE(C8),FROM(Que),HVSCROLL,VCR
COMBO(@S8),AT(160,0,20,20),USE(C9),FROM(Que),IMM
COMBO(@S8),AT(180,0,20,20),USE(C10),FROM(Que),CURSOR(CURSOR:Wait)
COMBO(@S8),AT(200,0,20,20),USE(C11),FROM(Que),ALRT(F10Key)
COMBO(@S8),AT(220,0,20,20),USE(C12),FROM(Que),LEFT
COMBO(@S8),AT(240,0,20,20),USE(C13),FROM(Que),RIGHT
COMBO(@S8),AT(260,0,20,20),USE(C14),FROM(Que),CENTER
COMBO(@N8.2),AT(280,0,20,20),USE(C15),FROM(Que),DECIMAL
COMBO(@S8),AT(300,0,20,20),USE(C16),FROM('Apples|Peaches|Pumpkin|Pie')
COMBO(@S8),AT(320,0,20,20),USE(C17),FROM('TBA')
END
CODE
OPEN(MDIChild)
?C17{PROP:From} = 'Live|Long|And|Prosper' !
Присвоение атрибуту FROMACCEPT
CASE ACCEPTED()
OF ?C1
LOOP X# = 1 to RECORDS(Que) !
Проверить введенное значение на наличие в очередиGET(Que,X#)
IF C1 = Que THEN BREAK. !
Прервать цикл если значение совпалоEND
IF X# > RECORDS(Que) !
Проверить есть ли в очереди значение?Que = C1 !
и добавить его, если не былоADD(Que)
END
END
END
Смотри
также: LIST, ENTRY (объявить экранный объект эллиптической формы)ELLIPSE
,AT( ) [,USE( )] [,DISABLE] [,COLOR( )] [,FILL( )] [,FULL] [,SCROLL] [,HIDE] [,LAYOUT( )] [,LINEWIDTH] [,EXTEND( )]
ELLIPSE
Помещает в окно, панель инструментов или отчет “круглый” объект.AT
Задает первоначальные размеры и расположение данного объекта (PROP:AT). Если этот атрибут опущен, то значения по умолчанию выбираются библиотечной процедурой.USE
Метка соответствия поля, служащая для того, чтобы осуществить ссылку на это поле в исполняемых операторах (PROP:USE).DISABLE
Указывает, что когда окно WINDOW (или APPLICATION) раскрывается впервые, данный объект выглядит затушеванным (PROP:DISABLE).COLOR
Указывает цвет контура эллипса (PROP:COLOR). Если этот атрибут опущен, то эллипс не имеет линии контура.FILL
Задает цвет области внутри объекта (PROP:FILL). Если этот атрибут опущен, то область внутри объекта не закрашивается.FULL
Указывает, что по любому из опущенных параметров атрибута AT (ширина или высота) объект расширяется таким образом, чтобы занимать всю протяженность окна (PROP:FULL). Недопустим в отчетах.SCROLL
Указывает, что поле подвергается скроллингу вместе с содержимым окна (PROP:SCROLL). Недопустим в отчетах.HIDE
Задает, что когда окно WINDOW или APPLICATION раскрывается в первый раз, данное поле не прорисовывается (PROP:HIDE). Для того, чтобы отобразить это поле нужно использовать оператор UNHIDE.LAYOUT
Указывает, что объект будет отображен в направлении слева направо или справа налево (PROP:LAYOUT).LINEWIDTH
Задает толщину линии контура эллипса (PROP:LINEWIDTH).EXTEND
Указывает, что используется специальная информация форматирования документа. Эта информация включает допустимую строку с атрибутами, которые определяют поведение отчета для данного типа документа. Допустим только в отчетах.Оператор
ELLIPSE помещает в окно, панель инструментов или отчет “круглый” объект в позиции, заданной его атрибутом AT. Эллипс рисуется внутри “ограничивающего прямоугольника”, определенного параметрами x, y, ширина и высота атрибута AT. Параметры x и y задают начальную точку, а ширина и высота задают горизонтальный и вертикальный размер ограничивающего прямоугольника. На этот объект не может переключаться фокус и для него не генерируются никакие события.Пример
:MDIChild WINDOW('Child One'),AT(0,0,320,200),MDI,MAX,HVSCROLL
! Закрашенный, с черным контуром, на весь экран:
!
Незакрашенный, с черным контуром:!
Затушеванный:ELLIPSE,AT(0,20,20,20),USE(?Box1),DISABLE
! Незакрашенный, закругленный, с черным контуром:
! Закрашенный, с черным контуром:
ELLIPSE,AT(40,40,20,20),FILL(COLOR:ACTIVEBORDER)
! Незакрашенный, с контуром текущего цвета рамки:
ELLIPSE,AT(60,60,20,20),COLOR(COLOR:ACTIVEBORDER)
! Прокручиваемый вместе с экраном:
ELLIPSE,AT(480,180,20,20),SCROLL
CustRpt REPORT,AT(1000,1000,6500,9000),THOUS
CustDetail DETAIL,AT(0,0,6500,1000)
! Незакрашенный, с черным контуром:
! Незакрашенный, с черным контуром, затушеванный:
ELLIPSE,AT(0,20,20,20),USE(?Ellipse1),DISABLE
!
Незакрашенный, закругленный, с черным контуром:! Закрашенный, с черным контуром:
ELLIPSE,AT(40,40,20,20),FILL(COLOR:ACTIVEBORDER)
! Незакрашенный, с контуром текущего цвета рамки
ELLIPSE,AT(60,60,20,20),COLOR(COLOR:ACTIVEBORDER)
ENTRY (объявить поле для ввода данных)
ENTRY(
шаблон) ,AT() [,CURSOR()] [,USE()] [,LAYOUT( )] [,DISABLE] [,KEY()] [,MSG()] [,HLP()] [,SKIP][,FONT()][,IMM][,PASSWORD][,REQ][,FULL][,SCROLL][,ALRT()][,HIDE][,TIP( )] [,FLAT] [,TRN][,READONLY]
[DROPID( )] [, | INS | ] [, | CAP | ] [, | LEFT | ] [,COLOR( )] [,MASK]
| OVR | | UPR | | RIGHT |
| CENTER |
| DECIMAL |
ENTRY
Помещает в окно или панель инструментов поле для ввода данных.шаблон Шаблон для отображения данных, который указывает формат вводимых в это поле данных (PROP:Text).
AT
Задает первоначальные размеры и расположение вводного поля (PROP:AT). Если этот атрибут опущен, то значения по умолчанию выбираются библиотечной процедурой.CURSOR
Задает форму, которую должен принимать курсор мыши, при попадании в это поле (PROP:CURSOR). Если этот атрибут опущен, то используется значение атрибута CURSOR структуры WINDOW, если же и тот не указан, то курсор имеет форму, используемую в среде Windows по умолчанию.USE
Метка переменной, которая получает значение введенное в данное поле (PROP:USE).LAYOUT
Указывает, что объект будет отображен в направлении слева направо или справа налево (PROP:LAYOUT).DISABLE
Указывает, что когда окно WINDOW (или APPLICATION) раскрывается впервые, данное поле выглядит затушеванным (PROP:DISABLE).KEY
Задает целочисленную константу или мнемонический код клавиши (или комбинации клавиш), с помощью которой фокус немедленно переключается на это поле (PROP:KEY).MSG
Задает строковую константу, содержащую текст, который следует вывести в строке состояния, когда на данное поле переключен фокус (PROP:MSG).HLP
Задает строковую константу, содержащую идентификатор системы справки для данного поля (PROP:HLP).SKIP
Указывает, что для ввода данных в это поле фокус ввода переключается только посредством мыши или клавиши ускоренного доступа, и не задерживается на этом поле после завершения ввода данных (PROP:SKIP).FONT
Задает шрифт для вывода текста в поле для ввода данных (PROP:FONT).IMM
Указывает, что как только пользователь нажмет любую клавишу, немедленно происходит генерирование события (PROP:IMM).PASSWORD
Отменяет вывод на экран вводимых данных (режим ввода пароля) (PROP:PASSWORD).REQ
Задает, что поле не может оставаться пустым или нулевым (PROP:REQ).FULL
Указывает, что по любому из опущенных параметров атрибута AT (ширина или высота) поле расширяется таким образом, чтобы занимать всю протяженность окна (PROP:FULL).SCROLL
Указывает, что поле подвергается скроллингу вместе с содержимым окна (PROP:SCROLL).ALRT
Задает активные горячие клавиши для данного поля (PROP:ALRT).HIDE
Задает, что когда окно WINDOW или APPLICATION раскрывается в первый раз, данное поле не прорисовывается (PROP:HIDE). Для того, чтобы отобразить это поле нужно использовать оператор UNHIDE.TIP
Задает текст, который выводится как “всплывающая” подсказка, когда курсор мыши задерживается на экранном объекте (PROP:ToolTIP).FLAT
Указывает, что объект не имеет объемной границы вокруг (PROP:FLAT).TRN
Указывает, что объект выводится на “прозрачном” фоне (PROP:TRN).READONLY
Указывает, что в поле нельзя ввести данные (PROP:READONLY).DROPID
Указывает, что данное управляющее поле может служить областью в которой происходит вторая часть операции “потащить и опустить” - отпускание объекта (PROP:DROPID).INS/OVR
Задает при вводе данных режим вставки или замещения. Допустимо только в окнах, имеющих атрибут MASK (PROP:INS и PROP:OVR).UPR/CAP
Указывает, что данные вводятся прописными буквами или по типу имен собственных (Первая Буква В Каждом Слове Прописная) (PROP:UPR и PROP:CAP).LEFT
Задает, что данные в окне списка выравниваются влево (PROP:LEFT).RIGHT
Задает, что данные в окне списка выравниваются вправо (PROP:RIGHT).CENTER
Задает, что данные в окне списка выравниваются по центру (PROP:CENTER).DECIMAL
Задает, что данные в окне списка выравниваются по десятичной точке (PROP:DECIMAL).COLOR
Указывает, что цвет фона объекта и цвета объекта в активизированном состоянии (PROP:COLOR).MASK
Указывает шаблон редактирования поля ввода ENTRY (PROP:MASK).Оператор
ENTRY помещает в окно или панель инструментов (не допустим в отчетах), в заданную атрибутом AT позицию, поле для ввода данных. Вводимые данные форматируются в соответствии с шаблоном и, когда пользователь завершит ввод данных и переключится на другое поле, заносятся в указанную атрибутом USE переменную. Вводимые данные прокручиваются в горизонтальном направлении, чтобы позволить пользователю вводить данные во всю длину USE-переменной. Поэтому клавиши стрелок влево и вправо позволяют перемещаться по введенным данным в поле типа ENTRY.Стандартные действия Windows (Cut, Copy и Paste) автоматически доступны при обращении к кнопкам
CTRL+X, CTRL+C и CTRL+V тогда, когда поле ENTRY находится в фокусе. Также может быть использовано сочетание CTRL+Z (до того, как пользователь завершит работу с полем).Когда пользователь вводит данные в поле ENTRY с атрибутом PASSWORD, в нем вместо вводимых данных отображаются звездочки (Cut и Copy недоступны). Такой режим ввода применяется для ввода конфиденциальных данных типа паролей. Для часто пропускаемых вводных полей используется оператор ENTRY с атрибутом SKIP. Поля, служащие только для вывода значения переменной на экран, объявляются оператором ENTRY с атрибутом READONLY.
Для изменения направления ввода текста (слева направо или справа налево) используется атрибут
LAYOUT. Избегайте ввода смешанного текста, так как он не может быть корректно отображен (т.е. арабский текст смешанный с английским текстом).
Атрибут MASK структуры WINDOW указывает для всех вводимых полей в окне режим ввода данных по шаблону. Это означает, что по мере ввода пользователем каждый символ автоматически проверяется на соответствии шаблону для данного поля, чтобы обеспечить правильность введенных данных (только цифры для числового поля и т.д.). Этот режим ввода вынуждает пользователя вводить данные в формате, указанном в шаблоне для данного поля. Если атрибут MASK опущен,
Windows позволяет вводить в поле произвольные данные. Это используемый по умолчанию в Windows режим ввода. Режим произвольного ввода означает, что данные форматируются в соответствии с шаблоном поля только после завершения ввода (на EVENT:ACCEPTED). Это позволяет пользователю вводить данные по своему усмотрению и автоматически форматировать в соответствии с шаблоном после завершения ввода. Если пользователь ввел данные в формате, отличающемся от заданного шаблоном для поля, библиотечная процедура пытается определить использованный пользователем формат и преобразовать данные в формат, заданный для отображения данных в этом поле. Например, если пользователь ввел “January 1, 1995” в поле с шаблоном @D1, библиотечная процедура отформатирует введенные им данные как “1/1/95”. Это произойдет только после того, как пользователь завершит ввод данных в это поле и перейдет к другому полю. Если библиотечная процедура не может определить, какой формат использовал пользователь, то значение USE-переменной не изменяется, будет порождаться событие EVENT:Rejected.Генерируемые события:
EVENT:Selected В данное поле переключен фокус.
EVENT:Accepted Пользователь завершил ввод данных в поле.
EVENT:Rejected Пользователь ввел несоответствующее шаблону значение.
EVENT:PreAlertKey
Пользователь нажал заданную атрибутом ALRT горячую клавишу.EVENT:AlertKey Пользователь нажал заданную атрибутом ALRT горячую клавишу.
EVENT:Drop Успешная операция переноса объекта в данное поле.
EVENT:NewSelection Пользователь ввел символ (необходим атрибут IMM).
Пример
:MDIChild WINDOW('Child One'),AT(0,0,320,200),MDI,MAX,HVSCROLL
ENTRY(@S8),AT(0,0,20,20),USE(E1)
ENTRY(@S8),AT(20,0,20,20),USE(E2),KEY(F10Key)
ENTRY(@S8),AT(40,0,20,20),USE(E3),MSG('Button 3')
ENTRY(@S8),AT(60,0,20,20),USE(E4),HLP('Entry4Help')
ENTRY(@S8),AT(80,0,20,20),USE(E5),DISABLE
ENTRY(@S8),AT(100,0,20,20),USE(E6),FONT('Arial',12)
ENTRY(@S8),AT(120,0,20,20),USE(E7),REQ,INS,CAP
ENTRY(@S8),AT(140,0,20,20),USE(E8),SCROLL,OVR,UPR
ENTRY(@S8),AT(180,0,20,20),USE(E9),CURSOR(CURSOR:Wait),IMM
ENTRY(@S8),AT(200,0,20,20),USE(E10),ALRT(F10Key)
ENTRY(@N8.2),AT(280,0,20,20),USE(E11),DECIMAL(10)
: TEXT, PROMPT
GROUP (объявить группу экранных объектов)
GROUP(
текст) ,AT() [,CURSOR()][,USE()] [,LAYOUT( )] [,DISABLE][,KEY()][,MSG()][,HLP()][,FONT()][,TIP()][,BOXED][,FULL][,SCROLL][,HIDE][,ALRT()][,SKIP][,DROPID()][,COLOR()][,BEVEL()]
объекты
GROUP
Объявляет группу объектов, на которые будут ссылки как на единое целое.текст Строковая константа, содержащая подсказку для группы объектов (PROP:Text). Константа может содержать амперсанд (&), обозначающий горячую “букву” в подсказке. Текст подсказки отображается на экране, только если дополнительно указан атрибут BOXED.
AT
Задает первоначальные размеры и расположение группы (PROP:AT). Если этот атрибут опущен, то по умолчанию параметры выбираются библиотечной процедурой.CURSOR
Задает форму, которую должен принимать курсор мыши, при попадании в пределы группы (PROP:CURSOR). Если этот атрибут опущен, то используется значение атрибута CURSOR структуры WINDOW, если же и тот не указан, то курсор имеет форму, используемую в среде Windows по умолчанию. Не допустим в отчетах.USE
Метка соответствия поля, служащая для того, чтобы осуществить ссылку на эту группу в исполняемых операторах (PROP:USE).LAYOUT
Указывает, что объект будет отображен в направлении слева направо или справа налево (PROP:LAYOUT).DISABLE
Указывает, что когда окно WINDOW (или APPLICATION) раскрывается впервые, данная группа выглядит затушеванной (PROP:DISABLE).KEY
Задает целочисленную константу или мнемонический код клавиши (или комбинации клавиш), с помощью которой фокус немедленно переключается на первый объект этой группы (PROP:KEY). Не допустим в отчетах.MSG
Задает строковую константу, содержащую текст, который следует вывести в строке состояния, когда на любой объект из данной группы переключен фокус (PROP:MSG). Не допустим в отчетах.HLP
Задает строковую константу, содержащую идентификатор системы справки используемой по умолчанию для любого объекта из данной группы (PROP:HLP). Не допустим в отчетах.FONT
Задает шрифт для вывода текста в данной группе и шрифт, используемый по умолчанию для любого объекта данной группы (PROP:FONT).TIP
Задает текст, который выводится как “всплывающая” подсказка, когда курсор мыши задерживается на экранном объекте (PROP:ToolTIP). Не допустим в отчетах.BOXED
Задает наличие вокруг группы рамки, проведенной одинарной линией, и заголовка в верхней части рамки (PROP:BOXED).FULL
Указывает, что по любому из опущенных параметров атрибута AT (ширина или высота) группа расширяется таким образом, чтобы занимать всю протяженность окна или полосы отчета (PROP:FULL).SCROLL
Указывает, что группа подвергается скроллингу вместе с содержимым окна (PROP:SCROLL). Не допустим в отчетах.HIDE
Задает, что когда окно WINDOW или APPLICATION раскрывается в первый раз, сам объект - группа и все объекты в нем не прорисовываются (PROP:HIDE). Для того, чтобы отобразить группу и объекты в ней нужно использовать оператор UNHIDE.ALRT
Задает активные горячие клавиши для объектов данной группы (PROP:ALRT).SKIP
Указывает, что на объекты данной группы фокус ввода переключается только посредством мыши или клавиши ускоренного доступа (PROP:SKIP). Не допустим в отчетах.DROPID
Указывает, что данное окно может служить областью, в которой происходит вторая часть операции “перетащить и отпустить” - отпускание объекта (PROP:DROPID). Не допустим в отчетах.COLOR
Задает цвет фона по умолчанию и цвета переднего плана и фона для активизированных объектов в группе (PROP:COLOR).BEVEL
Задает эффект объемности границ объекта (PROP:BEVEL). Не допустим в отчетах.объекты Объявления объектов на которые можно ссылаться по групповому имени.
Оператор
GROUP объявляет группу объектов, на которые будут ссылки как на единое целое. Объединение в группу позволяет пользователю для перемещения между объектами группы использовать вместо клавиши TAB использовать клавиши стрелок и обеспечивает общие атрибуты MSG и HLP для всех объектов группы. На группу как объект не переключается фокус.Генерируемые события:
EVENT:Drop
Успешная операция “перетащить и отпустить” в данный объект.Пример
:MDIChild WINDOW('Child One'),AT(0,0,320,200),MDI,MAX,HVSCROLL
GROUP('Group 1'),USE(?G1),KEY(F10Key)
ENTRY(@S8),AT(0,0,20,20),USE(?E1)
ENTRY(@S8),AT(20,0,20,20),USE(?E2)
GROUP('Group 2'),USE(?G2),MSG('Group 2'),CURSOR(CURSOR:Wait)
ENTRY(@S8),AT(40,0,20,20),USE(?E3)
ENTRY(@S8),AT(60,0,20,20),USE(?E4)
GROUP('Group 3'),USE(?G3),AT(80,0,20,20),BOXED
ENTRY(@S8),AT(80,0,20,20),USE(?E5)
ENTRY(@S8),AT(100,0,20,20),USE(?E6)
CustRpt REPORT,AT(1000,1000,6500,9000),THOUS
CustDetail DETAIL,AT(0,0,6500,1000)
GROUP('Group 1'),USE(!G1),AT(80,0,20,20),BOXED
STRING(@S8),AT(80,0,20,20),USE(E5)
STRING(@S8),AT(100,0,20,20),USE(E6)
GROUP('Group 2'),USE(?G2),FONT('Arial',12)
STRING(@S8),AT(120,0,20,20),USE(E7)
STRING(@S8),AT(140,0,20,20),USE(E8)
также: PANELE (объявить экранное поле, содержащее изображение)
IMAGE(
файл) ,AT( ) [,USE( )] [,DISABLE] [,FULL] [,SCROLL] [,HIDE] [,LAYOUT][, | TILED | ] [, | HSCROLL | ] [,EXTEND ( )]
| CENTERED | | VSCROLL |
| HVSCROLL |
IMAGE
Помещает графическое изображение в окно, панель инструментов или отчет.файл Строковая константа, содержащая имя файла, подлежащего выводу в этом поле (PROP:Text). Названный файл автоматически компонуется в .
EXE как ресурс.AT
Задает первоначальные размеры и расположение изображения (PROP:AT). Если этот атрибут опущен, то по умолчанию параметры выбираются библиотечной процедурой.USE
Метка соответствия поля, служащая для того, чтобы осуществить ссылку на этот объект в исполняемых операторах (PROP:USE).DISABLE
Указывает, что когда окно WINDOW (или APPLICATION) раскрывается впервые, данный объект выглядит затушеванным (PROP:DISABLE).FULL
Указывает, что по любому из опущенных параметров атрибута AT (ширина или высота) объект расширяется таким образом, чтобы занимать всю протяженность окна (PROP:FULL). Не допустим в отчетах.SCROLL
Указывает, что объект подвергается скроллингу вместе с содержимым окна (PROP:SCROLL). Не допустим в отчетах.HIDE
Задает, что когда окно WINDOW или APPLICATION раскрывается в первый раз, объект не прорисовывается (PROP:HIDE). Для того, чтобы отобразить объект нужно использовать оператор UNHIDE.TILED
Определяет, что изображение отображается со своими размерами по умолчанию и заливает его, как черепица (PROP:TILED).CENTERED
Указывает, что изображение отображается со своими размерами и центрируется в зоне IMAGE (PROP:CENTERED).HSCROLL
Указывает, что когда изображение шире области, выделенной для его отображения, к нему автоматически присоединяется линейка горизонтального скроллинга (PROP:HSCROLL). Не допустим в отчетах.VSCROLL
Указывает, что когда изображение выше области, выделенной для его отображения, к нему автоматически присоединяется линейка вертикального скроллинга (PROP:VSCROLL). Не допустим в отчетах.HVSCROLL
Указывает, что когда изображение шире и выше области, выделенной для его отображения к нему автоматически присоединяются линейки вертикального и горизонтального скроллинга. Не допустим в отчетах.LAYOUT
Указывает, что объект будет отображен в направлении слева направо или справа налево (PROP:LAYOUT).EXTEND
Указывает, что используется специальная информация форматирования документа. Эта информация включает допустимую строку с атрибутами, которые определяют поведение отчета для данного типа документа. Допустим только в отчетах.Оператор
IMAGE помещает графическое изображение в окно или панель инструментов; место и размеры изображения заданы атрибутом AT. Изображение растягивается на всю, указанную атрибутом AT зону, если не указаны атрибуты TILED или CENTERED. Файл с изображением может быть следующего формата: .BMP, .PCX, .GIF, .JPG или .WMF. Также он может быть в формате .ICO в окнах, но не в отчетах, так как Windows не поддерживает печать пиктограмм. Тип файла определяется по его расширению.Этот объект не может получать фокус ввода и порождать события.
Пример
:MDIChild WINDOW('Child One'),AT(0,0,320,200),MDI,MAX,HVSCROLL
IMAGE('PIC.BMP'),AT(0,0,20,20),USE(?I1)
IMAGE('PIC.WMF'),AT(40,0,20,20),USE(?I3),SCROLL
CustRpt REPORT,AT(1000,1000,6500,9000),THOUS
CustDetail DETAIL,AT(0,0,6500,1000)
IMAGE('PIC.BMP'),AT(0,0,20,20),USE(?I1)
IMAGE('PIC.WMF'),AT(40,0,20,20),USE(?I2)
IMAGE('PIC.JPG'),AT(60,0,20,20),USE(?I3)
: PALETTE(объявить пункт меню)
ITEM(
текст) [,AT( ) ] [,USE( )] [,KEY( )] [,MSG( )] [,HLP( )] [,STD( )] [,CHECK] [,DISABLE] [,COLOR][,LEFT( )] [,SEPARATOR][,ICON( )] [,FONT( )] [,| FIRST | ]
| LAST |
ITEM
Объявляет пункт меню внутри структуры MENUBAR или MENU.текст Строковая константа, содержащая выводимый для пункта меню текст (PROP:Text).
AT
Указывает ширину и высоту пункта меню (PROP:AT). Если опущен, значение по умолчанию выбирается библиотечной процедурой. Первые два параметра атрибута AT игнорируются. Фиксированная ширина указанная атрибутом AT включает (и, следовательно, должна быть больше) смещение текста указанное атрибутом LEFT. Указанная ширина зоны для размещения пункта меню должна быть меньше ширины устанавливаемой Windows по умолчанию, а библиотечные процедуры используют полную ширину указанной зоны.USE
Метка соответствия поля, служащая для того, чтобы можно было ссылаться на пункт меню в исполняемых операторах или для переменной используемой с CHECK (PROP:Use).KEY
Задает целочисленную константу или мнемоническое имя кода клавиши, которая вызывает немедленное выполнение пункта меню (PROP:Key).MSG
Задает строковую константу, содержащую текст, который следует вывести в строке состояния, когда пункт меню подсвечен (PROP:Msg).HLP
Задает строковую константу, содержащую идентификатор системы справки для данного пункта меню (PROP:Hlp).STD
Целочисленная константа или мнемоническое имя, которая определяет для данного пункта меню “стандартное в системе Windows действие” (PROP:Std).CHECK
Указывает, что данный пункт является переключателем с двумя состояниями (PROP:Check).DISABLE
Указывает, что во время первого раскрытия окна APPLICATION или WINDOW данный пункт меню выводится “затушеванным” (PROP:Disable).COLOR
Указывает цвет фона для объекта (PROP:COLOR).LEFT
Указывает величину смещения от левого края в условных единицах в структуре меню. Указывает, что данный пункт во время выполнения программы представляет собой горизонтальную сплошную линию поперек окна меню, служащую разделителем групп пунктов меню. Здесь может указываться также атрибут USE.ICON
Указывает файл с изображением или стандартную пиктограмму, отображаемые в пункте меню (PROP:ICON).FONT
Указывает шрифт отображаемого объекта (PROP:FONT). Задает, что при слиянии меню данный пункт выводится сверху (PROP:First). Задает, что при слиянии меню данный пункт выводится снизу (PROP:Last).Оператор
ITEM объявляет внутри структуры MENUBAR или MENU пункт меню. Строка текст может содержать амперсанд (&), назначающий в качестве горячей клавиши следующую за ним букву, которая при выводе пункта меню автоматически подчеркивается. Если это пункт на линейке меню, то нажатие клавиши Alt в сочетании с заданной амперсандом горячей клавишей выделит пункт и вызовет его выполнение. Если пункт находится во вложенном меню, то в раскрытом меню нажатие одной горячей клавиши вызовет выделение и выполнение этого пункта меню. Если в значении параметра текст отсутствует амперсанд, то в качестве горячей клавиши принимается первый отличный от пробела символ в этом тексте, но при выводе он не будет подчеркиваться. Для того, чтобы использовать амперсанд как часть текста, поместите в текстовую строку два символа амперсанда (&&), а отображаться будет только один. Для немедленного выполнения предусмотренных данным пунктом меню действий атрибутом KEY для поля назначается отдельная горячая клавиша. Это может быть любой допустимый в Clarion код клавиши или комбинации клавиш.Конкретный пункт в структуре MENU выделяется прямоугольной полосой-курсором. Обычно, если не задан атрибут STD, каждый пункт меню связывается с некоторой подпрограммой, которая должна выполняться при выборе данного пункта. Атрибут STD определяет, что данный пункт меню выполняет стандартные в среде Windows действия, такие как расположение окон каскадом (пункт Cascade в меню WINDOW) или рядом друг с другом (пункт Tile). Атрибут SEPARATOR создает пункт, который служит только для того, чтобы разделять группы пунктов, поэтому он не должен иметь параметра текст
. С атрибутом SEPARATOR может использоваться атрибут USE. С помощью SEPARATOR создается сплошная горизонтальная линия поперек окна меню. Операторы ITEM, которые находятся вне структуры MENU, создают пункты, помещаемые на линейку меню. Они не связаны со окнами спускающихся меню. Для того, чтобы показать это пользователю, обычным правилом служит завершение текста для данного пункта меню восклицательным знаком (!). Например, для того чтобы известить пользователя об исполняемой сути данного пункта меню, параметр текст мог бы содержать “Exit!”.Генерируемые события:
EVENT:Accepted
Пользователь нажал Enter или щелкнул мышью на активном объекте.Пример
:MainWin APPLICATION('My Application'),SYSTEM,MAX,ICON('MyIcon.ICO'),STATUS,HVSCROLL,RES
MENUBAR
ITEM('E&xit!'),USE(?MainExit),FIRST
MENU('File'),USE(?FileMenu),FIRST
ITEM('Open...'),USE(?OpenFile) ,HLP('OpenFileHelp') ,FIRST
ITEM('Close'),USE(?CloseFile),HLP('CloseFileHelp'),DISABLE
ITEM('Auto Increment'),USE(ToggleVar),CHECK
END
MENU('Edit'),USE(?EditMenu),KEY(CtrlE),HLP('EditMenuHelp')
ITEM('Undo'),USE(?UndoText),KEY(CtrlZ),STD(STD:Undo),DISABLE
ITEM,SEPARATOR
ITEM('Cu&t'),USE(?CutText),KEY(CtrlX),STD(STD:Cut),DISABLE
ITEM('Copy'),USE(?CopyText),KEY(CtrlC),STD(STD:Copy),DISABLE
ITEM('Paste'),USE(?PasteText),KEY(CtrlV),STD(STD:Paste),DISABLE
END
MENU('Window'),STD(STD:WindowList),MSG('Arrange or Select Window'),LAST
ITEM('Tile'),STD(STD:TileWindow)
ITEM('Cascade'),STD(STD:CascadeWindow)
ITEM('Arrange Icons'),STD(STD:ArrangeIcons)
ITEM,SEPARATOR,USE(?FileSeparator1)
END
MENU('Help'),USE(?HelpMenu),LAST,RIGHT
ITEM('Contents'),USE(?HelpContents),STD(STD:HelpIndex)
ITEM('Search for Help On...'),USE(?HelpSearch),STD(STD:HelpSearch)
ITEM('How to Use Help'),USE(?HelpOnHelp),STD(STD:HelpOnHelp)
ITEM('About MyApp...'),USE(?HelpAbout),MSG('Copyright Info'),LAST
END
END !Menubar
END !Application
экранный объект - прямая линия)
LINE
,AT( ) [,USE( )] [,DISABLE] [,COLOR( )] [,FULL] [,SCROLL] [,HIDE] [,LINEWIDTH( )][,LAYOUT()] [,EXTEND( )]
LINE
Помещает в окно, панель инструментов или отчет прямую линию.AT
Задает первоначальные размеры и расположение объекта (PROP:AT). Если этот атрибут опущен, то по умолчанию параметры выбираются библиотечной процедурой.USE
Метка соответствия поля, служащая для того, чтобы осуществить ссылку на этот объект в исполняемых операторах (PROP:USE).DISABLE
Указывает, что когда окно WINDOW (или APPLICATION) раскрывается впервые, данный объект выглядит затушеванным (PROP:DISABLE).COLOR
Задает цвет линии (PROP:COLOR). Если этот атрибут опущен, то цвет линии - черный.FULL
Указывает, что по любому из опущенных параметров атрибута AT (ширина или высота) объект расширяется таким образом, чтобы занимать всю протяженность окна или полосы отчета (PROP:FULL). Не допустим в отчетах.SCROLL
Указывает, что объект подвергается скроллингу вместе с содержимым окна (PROP:SCROLL). Не допустим в отчетах.HIDE
Задает, что когда окно WINDOW или APPLICATION раскрывается в первый раз, объект не прорисовывается (PROP:HIDE). Для того, чтобы отобразить объект, нужно использовать оператор UNHIDE.LINEWIDTH
Задает толщину линии (PROP:LINEWIDTH).LAYOUT
Указывает, что объект будет отображен в направлении слева направо или справа налево (PROP:LAYOUT).EXTEND
Указывает, что используется специальная информация форматирования документа. Эта информация включает допустимую строку с атрибутами, которые определяют поведение отчета для данного типа документа. Допустим только в отчетах.Оператор
LINE помещает в окно, панель инструментов или отчет, в заданную атрибутом AT позицию отрезок прямой линии. Параметры x и y атрибута AT задают координаты начальной точки отрезка. А параметры ширина и высота задают горизонтальное и вертикальное смещение конечной точки отрезка. Если оба эти параметра положительные, то линия идет вправо и вниз от начальной точки. Если параметр ширина отрицательный, то линия идет влево. Если отрицательным является параметр высота , то линия идет выше начальной точки. Если или ширина, или высота равны 0, то линия вертикальная или горизонтальная. На объект такого типа не переключается фокус и для него не генерируются события.Ширина
Высота Результатположительное положительное вправо и вниз от начальной позиции
отрицательное положительное влево и вниз от начальной позиции
положительное отрицательное вправо и вверх от начальной позиции
отрицательное отрицательное влево и вверх от начальной позиции
нулевое положительное вертикально, вниз от начальной позиции
нулевое отрицательное вертикально, вверх от начальной позиции
положительное нулевое горизонтально, вправо от начальной позиции
отрицательное нулевое горизонтально, влево от начальной позиции
Пример
:MDIChild WINDOW('Child One'),AT(0,0,320,200),MDI,MAX,HVSCROLL
LINE,AT(60,60,20,20),COLOR(COLOR:ACTIVEBORDER) !
Цвет рамкиLINE,AT(480,180,20,20),SCROLL !
Прокрутка вместе с экраномEND
CustRpt REPORT,AT(1000,1000,6500,9000),THOUS
CustDetail DETAIL,AT(0,0,6500,1000)
LINE,AT(60,60,20,20),COLOR(COLOR:ACTIVEBORDER) !
Цвет рамкиLINE,AT(480,180,20,20),USE(?L2)
END
END
(объявить окно списка)
LIST ,FROM( )
,AT( ) [,CURSOR( )] [,USE( )] [,DISABLE] [,KEY( )] [,MSG( )] [,HLP( )] [,SKIP][,FONT( )] [,FORMAT( )] [,DROP] [,COLUMN] [,VCR] [,FULL] [,SCROLL] [,NOBAR] [,FLAT]
[,ALRT( )] [,HIDE] [,DRAGID( )] [,DROPID( )] [,TIP( )] [,GRID( )] [,TRN] [,COLOR( )] [,LAYOUT( )]
[, | MARK( ) | ] [, | HSCROLL | ] [, | LEFT | ]
| IMM | | VSCROLL | | RIGHT |
| HVSCROLL | | CENTER |
| DECIMAL |
LIST
Помещает в окно, панель инструментов или отчет прокручиваемый список элементов данных.FROM
Задает источник для выводимых в списке элементов данных (PROP:FROM).AT
Задает первоначальные размеры и расположение окна списка (PROP:AT). Если этот атрибут опущен, то по умолчанию параметры выбираются библиотечной процедурой.CURSOR
Задает форму, которую должен принимать курсор мыши, при попадании в этот объект (PROP:CURSOR). Если этот атрибут опущен, то используется значение атрибута CURSOR структуры WINDOW, если же и тот не указан, то курсор имеет форму, используемую в среде Windows по умолчанию. Не допустим в отчетах.USE
Метка соответствия поля, которая служит для ссылок на данное поле в исполняемых операторах, или метка переменной, которая получает значение выбранного элемента данных (PROP:USE).DISABLE
Указывает, что когда окно WINDOW (или APPLICATION) раскрывается впервые, данное поле выглядит затушеванным (PROP:DISABLE).KEY
Задает целочисленную константу или мнемонический код клавиши (или комбинации клавиш), с помощью которой фокус немедленно переключается на это окно списка (PROP:KEY). Не допустим в отчетах.MSG
Задает строковую константу, содержащую текст, который следует вывести в строке состояния, когда на данное поле переключен фокус (PROP:MSG). Не допустим в отчетах.HLP
Задает строковую константу, содержащую идентификатор системы справки для данного объекта (PROP:Hlp). Не допустим в отчетах.SKIP
Указывает, что на это поле фокус не переключается, доступ к нему может быть осуществлен только посредством мыши или клавиш ускоренного доступа (PROP:SKIP). Не допустим в отчетах.FONT
Задает шрифт для вывода текста в окне списка (PROP:FONT).FORMAT
Задает формат для отображения данных в окне списка (PROP:FORMAT). Форматирование может включать в себя наличие пиктограммы, экранного объекта, представляющего древовидную структуру и цвета окна списка.DROP
Задает выпадающее окно списка и число элементов данных, которое содержит выпадающая часть (PROP:DROP). Не допустим в отчетах.COLUMN
В многоколоночном окне списка задает последовательность выделенных ячеек (PROP:COLUMN). Не допустим в отчетах.VCR
При наличии линейки горизонтального скроллинга задает наличие слева от линейки кнопок, подобных клавишам управления видеомагнитофоном (PROP:VCR). Не допустим в отчетах.FULL
Указывает, что по любому из опущенных параметров атрибута AT (ширина или высота) окно расширяется таким образом, чтобы занимать всю протяженность окна (PROP:FULL). Не допустим в отчетах.SCROLL
Указывает, что поле подвергается скроллингу вместе с содержимым окна (PROP:SCROLL). Не допустим в отчетах.NOBAR
Задает, что выделенная полоса курсор отображается, только когда фокус переключается на окно списка (PROP:NOBAR). Не допустим в отчетах.FLAT
Указывает, что объект не имеет объемной границы вокруг (PROP:FLAT). Не допустим в отчетах.ALRT
Задает активные горячие клавиши для данного поля (PROP:ALRT). Не допустим в отчетах.HIDE
Задает, что когда окно WINDOW или APPLICATION раскрывается в первый раз, данное поле не прорисовывается (PROP:HIDE). Для того, чтобы отобразить это поле нужно использовать оператор UNHIDE.DRAGID
Указывает, что данный объект может служить областью – источником данных или объектов для операции “потащить и отпустить” (PROP:DRAGID). Не допустим в отчетах.DROPID
Указывает, что данное управляющее поле может служить областью в которой происходит вторая часть операции “потащить и отпустить” - отпускание объекта (PROP:DROPID). Не допустим в отчетах.TIP
Задает текст, который выводится как “всплывающая” подсказка, когда курсор мыши задерживается на экранном объекте (PROP:ToolTIP). Не допустим в отчетах.GRID
Задает цвет линий сетки между колонками в списке (PROP:GRID).TRN
Указывает, что объект выводится на “прозрачном” фоне (PROP:TRN).COLOR
Задает цвет фона по умолчанию и цвета переднего плана и фона для активизированного объекта (PROP:COLOR).LAYOUT
Указывает, что объект будет отображен в направлении слева направо или справа налево (PROP:LAYOUT).MARK
Задает режим выбора нескольких элементов одновременно (PROP:MARK). Не допустим в отчетах.IMM
Задает генерацию события при нажатии пользователем любой клавиши (PROP:IMM). Не допустим в отчетах.HSCROLL
Указывает, что когда какая-либо часть данных по горизонтали не помещается в окне списка, к нему автоматически присоединяется линейка горизонтального скроллинга (PROP:HSCROLL). Не допустим в отчетах.VSCROLL
Указывает, что когда какая-либо часть данных по вертикали не помещается в окне списка, к нему автоматически присоединяется линейка вертикального скроллинга (PROP:VSCROLL). Не допустим в отчетах.HVSCROLL
Указывает, что когда какая-либо часть данных не помещается в окне списка, к нему автоматически присоединяются линейки вертикального и горизонтального скроллинга (PROP:HVSCROLL). Не допустим в отчетах.LEFT
Задает, что данные в окне списка выравниваются влево (PROP:LEFT).RIGHT
Задает, что данные в окне списка выравниваются вправо (PROP:RIGHT).CENTER
Задает, что данные в окне списка выравниваются по центру списка (PROP:CENTER).DECIMAL
Задает, что данные в окне списка выравниваются по десятичной точке (PROP:DECIMAL).
С помощью поля
LIST в заданном атрибутом AT месте окна, панели инструментов или отчета помещается прокручиваемый список элементов данных. Выводимые в окне списка элементы данных берутся из очереди или строковой переменной, указанной атрибутом FROM и форматируются на основании параметров, указанных в атрибуте FORMAT (форматирование может включать в себя наличие пиктограммы, экранного объекта, представляющего древовидную структуру и цвета окна списка).Когда для окна списка сгенерировалось событие EVENT:Accepted, процедура CHOICE возвращает номер элемента очереди (значение возвращаемое POINTER(очередь)) выбранного пользователем. Независимо от того, имеется ли атрибут AUTO или нет, выводимые в окне списка данные обновляются при каждом выполнении цикла ACCEPT.
Пока на окно списка, имеющее атрибут DROP, не переключен фокус и пользователь не нажал клавишу “стрелка вниз” или не щелкнул по пиктограмме справа от выводимых данных, в нем выводится только выбранный в данный момент элемент данных. Когда же он выполнит одно из этих действий, появляется (“выпадает”) список элементов данных, позволяющий пользователю выбрать один из них.
Поле LIST с атрибутом IMM генерирует события каждый раз, когда пользователь переместил выделенную полосу-курсор на другой элемент списка, или нажимал клавишу, вызывающую скроллинг высвеченных элементов списка (все клавиши неявно “горячие”). Тем самым программе предоставляется удобная возможность повторно заполнить высвечиваемую очередь или получить выделенную в данный момент запись для того, чтобы вывести на экран другие поля этой записи. Если кроме того, имеется атрибут VSCROLL, то всегда высвечивается линейка вертикального скроллинга, и, когда пользователь щелкнет мышью, указывая на линейку, то генерируется событие, но перемещения элементов в списке не происходит (это должна сделать программа). Чтобы определить положение скроллинга списка, можно прочитать значение свойства
PROP:VscrollPos (диапазон от 0 - начало списка, до 255 - конец списка).У окна списка с атрибутом VCR имеются слева от линейки горизонтального скроллинга (если она есть) кнопки управления скроллингом, подобные кнопкам управления видеомагнитофоном. Эти кнопки позволяют пользователю использовать мышь для прокрутки списка.
Окно списка с атрибутом DRAGID может служить источником в операции “потащить и отпустить”, обеспечивая данные, которые должны быть перемещены или скопированы в другой экранный объект. Окно списка с атрибутом DROPID может служить областью в которой происходит вторая часть операции “потащить и отпустить” - отпускание объекта, принимая данные от другого объекта. Вместе эти атрибуты служат для того, чтобы задать “ярлыки” для операции “потащить и отпустить”, которые определяют допустимую цель операции. Для выполнения обмена данными вместе с процедурой SETDROPID используются процедуры DRAGID() и DROPID().
ЛАВА 7 УПРАВЛЯЮЩИЕ
Использование в отчетах
Поле LIST допустимо использовать только внутри DETAIL-структуры. Цель применения LIST-поля - вывести на печать данные в том же формате, в котором они появляются на экране (устанавливается атрибутом FORMAT поля LIST). Когда на печать выводится первый экземпляр структуры DETAIL, содержащей поле LIST, то вместе с текущим элементом FROM-атрибута на печать выводится и любая заголовочная информация из FORMAT. При выводе на печать последней DETAIL-структуры, содержащей поле LIST, то вместе с текущим элементом FROM-атрибута на печать выводится и любая оконечная информация из FORMAT.
Генерируемые события:
EVENT:Sel
ected На объект переключен фокус ввода.EVENT:Accepted Пользователь выбрал элемент из списка.
EVENT:NewSelection Изменился выбор элемента из списка (полоса-курсор переместилась вверх или вниз).
EVENT:ScrollUp Пользователь нажал клавишу “стрелка вверх” (только для окна с атрибутом IMM).
EVENT:ScrollDown Пользователь нажал клавишу “стрелка вниз” (только для окна с атрибутом IMM).
EVENT:PageUp Пользователь нажал PgUp (только для окна с атрибутом IMM).
EVENT:PageDown Пользователь нажал PgDn (только для окна с атрибутом IMM).
EVENT:ScrollTop Пользователь нажал Ctrl-PgUp (только для окна с атрибутом IMM).
EVENT:ScrollBottom Пользователь нажал Ctrl-PgDn (только для окна с атрибутом IMM).
EVENT:Locate Пользователь нажал видеомагнитофонную клавишу поиска (только для окна с атрибутом IMM).
EVENT:ScrollDrag Пользователь передвинул бегунок на линейке скроллинга и его новое положение отражено в PROP:VScrollPos (только для окон с атрибутом IMM).
EVENT:ScrollTrack Пользователь передвигает бегунок на линейке скроллинга и его новое положение отражено в PROP:VScrollPos (только для окон с атрибутом IMM).
EVENT:PreAlertKey
Пользователь нажал клавишу отображаемого символа (только для окна с атрибутом IMM) или заданную атрибутом ALRT горячую клавишу.EVENT:AlertKey Пользователь нажал клавишу отображаемого символа (только для окна с атрибутом IMM) или заданную атрибутом ALRT горячую клавишу.
EVENT:Dragging Курсор мыши находится над потенциальной целью операции “потащить и отпустить” (только для окна с атрибутом DRAGID)
EVENT:Drag Курсор мыши отпущен над целью операции “потащить и отпустить” (только для окна с атрибутом DRAGID).
EVENT:Drop Курсор мыши отпущен над целью операции “потащить и “отпустить” (только для окна с атрибутом DRAGID).
EVENT:DroppingDown Пользователь затребовал раскрытие окна списка (только для окна с атрибутом DROP). Оператор CYCLE прерывает раскрытие окна списка.
EVENT:DroppedDown Пользователь раскрыл окно списка (только для окна с атрибутом DROP).
EVENT:Expanding Пользователь щелкнул на квадратике раскрытия древовидной структуры (только при наличии формата Т в строке атрибута FORMAT). Оператор CYCLE прерывает раскрытие древовидной структуры.
EVENT:Expanded Пользователь щелкнул на квадратике раскрытия древовидной структуры (только при наличии формата Т в строке атрибута FORMAT).
EVENT:Contracting Пользователь щелкнул на квадратике закрытия древовидной структуры (только при наличии формата Т в строке атрибута FORMAT). Оператор CYCLE прерывает закрытие древовидной структуры.
EVENT:Contracted Пользователь щелкнул на квадратике закрытия древовидной структуры (только при наличии формата Т в строке атрибута FORMAT).
EVENT:ColumnResize Размер колонки в списке изменился.
Пример
:Q QUEUE
F1 STRING(1)
F2 STRING(4)
END
MDIChild WINDOW('Child One'),AT(0,0,320,200),MDI,MAX,HVSCROLL
LIST,AT(0,0,20,20),USE(?L1),FROM(Que),IMM
LIST,AT(20,0,20,20),USE(?L2),FROM(Que),KEY(F10Key)
LIST,AT(40,0,20,20),USE(?L3),FROM(Que),MSG('Button 3')
LIST,AT(60,0,20,20),USE(?L4),FROM(Que),HLP('Check4Help')
LIST,AT(80,0,20,20),USE(?L5),FROM(Q),FORMAT('5C~List~15L~Box~'),COLUMN
LIST,AT(100,0,20,20),USE(?L6),FROM(Que),FONT('Arial',12)
LIST,AT(120,0,20,20),USE(?L7),FROM(Que),DROP(6)
LIST,AT(140,0,20,20),USE(?L8),FROM(Que),HVSCROLL,VCR
LIST,AT(180,0,20,20),USE(?L10),FROM(Que),CURSOR(CURSOR:Wait)
LIST,AT(200,0,20,20),USE(?L11),FROM(Que),ALRT(F10Key)
LIST,AT(220,0,20,20),USE(?L12),FROM(Que),LEFT
LIST,AT(240,0,20,20),USE(?L13),FROM(Que),RIGHT
LIST,AT(260,0,20,20),USE(?L14),FROM(Que),CENTER
LIST,AT(280,0,20,20),USE(?L15),FROM(Que),DECIMAL
LIST,AT(300,0,20,20),USE(?L16),FROM('Apples|Peaches|Pumpkin|Pie')
LIST,AT(320,0,20,20),USE(?L17),FROM('TBA')
END
CustRpt REPORT,AT(1000,1000,6500,9000),THOUS
CustDetail DETAIL,AT(0,0,6500,1000)
LIST,AT(80,0,20,20),USE(?L1),FROM(Q),FORMAT('5C~List~15L~Box~')
END
END
CODE
OPEN(MDIChild)
?L1{PROP:From} = 'Live|Long|And|Prosper' !
Присваивание атрибута FROM в процессе работыСмотри
также: COMBO, DRAGID, DROPID, SETDROPIDобъявить окно меню)
MENU(
текст) ,AT( ) ] [,USE( )] [,KEY( )] [,MSG( )] [,HLP( )] [,STD( )] [,RIGHT] [,DISABLE] [,COLOR] [LEFT( )][,ICON( )] [,FONT( )] [, | FIRST | ]
| LAST |
END
MENU
Объявляет окно меню внутри структуры MENUBAR.текст
Строковая константа, содержащая выводимый для пункта меню текст (PROP:Text).AT
Указывает ширину и высоту меню (PROP:AT). Если опущен, значение по умолчанию выбирается библиотечной процедурой. Первые два параметра атрибута AT игнорируются. Фиксированная ширина указанная атрибутом AT включает (и, следовательно, должна быть больше) смещение текста указанное атрибутом LEFT. Указанная ширина зоны для размещения меню должна быть меньше ширины устанавливаемой Windows по умолчанию, а библиотечные процедуры используют полную ширину указанной зоны.USE
Метка соответствия поля, служащая для того, чтобы ссылаться на пункт меню в исполняемых операторах (PROP:Use).KEY
Задает целочисленную константу или мнемоническое имя кода клавиши, которая немедленно открывает окно меню (PROP:Key).MSG
Задает строковую константу, содержащую текст, который следует вывести в строке состояния когда окно меню раскрыто (PROP:Msg).HLP
Задает строковую константу, содержащую идентификатор системы справки для данного меню (PROP:Hlp).STD
Целочисленная константа или мнемоническое имя, которая определяет для данного окна меню “стандартное поведение в системе Windows” (PROP:Std).RIGHT
Указывает, что данный пункт на линейке меню выводится насколько это возможно правее (PROP:Right).DISABLE
Указывает, что во время первого раскрытия окна APPLICATION или WINDOW данное меню выводится “затушеванным” (PROP:Disable).COLOR
Указывает цвет фона для поля (PROP:COLOR).LEFT
Указывает величину смещения от левого края в условных единицах в структуре меню.ICON
Указывает файл с изображением или стандартную пиктограмму, отображаемые в меню (PROP:ICON).FONT
Указывает шрифт отображаемого объекта (PROP:FONT).FIRST
Задает, что при слиянии меню данный пункт выводится слева (или сверху) (PROP:First).LAST
Задает, что при слиянии меню данный пункт выводится справа (или снизу) (PROP:Last).Оператор
MENU объявляет в структуре MENUBAR спускающееся или раскрывающееся окно меню. Когда выбран данный пункт меню в раскрывающемся окне выводятся вложенные в него меню и/или пункты, заданные операторами ITEM. Обычно окно меню раскрывается (спускается) непосредственно под соответствующим ему текстом на линейке меню (или над, если ниже нет места). Когда в окне меню клавишей ENTER или СТРЕЛКА ВПРАВО выбирается пункт, то справа от заданного параметром текст пункта (или слева, если справа нет места) раскрывается следующее окно меню (каскад меню). Клавиша СТРЕЛКА ВЛЕВО возвращает нас в предыдущее меню. Атрибутом KEY меню назначается специальная “горячая” клавиша. Чтобы окно меню немедленно спускалось, параметром атрибута KEY должен быть допустимый в Clarion код клавиши.Строка текст может содержать амперсанд (&), назначающий в качестве горячей клавиши следующую за ним букву, которая при выводе пункта меню автоматически подчеркивается. Если это пункт меню на линейке меню, то нажатие клавиши Alt в сочетании с заданной амперсандом горячей клавишей выделит пункт и раскроет меню. Если это вложенное меню, то в раскрытом меню нажатие одной горячей клавиши вызовет выполнение пункта меню. Если в значении параметра текст отсутствует амперсанд, то в качестве горячей клавиши принимается первый отличный от пробела символ в этом тексте, но при выводе он не будет подчеркиваться. Для того, чтобы использовать амперсанд как часть текста, поместите в текстовую строку два символа амперсанда (&&), а отображаться будет только один.
Пример:
!
Главное окно прикладной программы с MDI. Окно содержит главное меню для прикладной программы:MainWin APPLICATION('My Application'),SYSTEM,MAX,ICON('MyIcon.ICO'),STATUS,HVSCROLL,RES
MENUBAR
MENU('File'),USE(?FileMenu),FIRST
ITEM('Open...'),USE(?OpenFile)
ITEM('Close'),USE(?CloseFile),DISABLE
ITEM('E&xit'),USE(?MainExit)
END
MENU('Edit'),USE(?EditMenu),KEY(CtrlE),HLP('EditMenuHelp')
ITEM('Undo'),USE(?UndoText),KEY(CtrlZ),STD(STD:Undo),DISABLE
ITEM('Cu&t'),USE(?CutText),KEY(CtrlX),STD(STD:Cut),DISABLE
ITEM('Copy'),USE(?CopyText),KEY(CtrlC),STD(STD:Copy),DISABLE
ITEM('Paste'),USE(?PasteText),KEY(CtrlV),STD(STD:Paste),DISABLE
ITEM,SEPARATOR,USE(?FileSeprator1)
END
MENU('Window'),STD(STD:WindowList),MSG('Arrange or Select Window'),LAST
ITEM('Tile'),STD(STD:TileWindow)
ITEM('Cascade'),STD(STD:CascadeWindow)
ITEM('Arrange Icons'),STD(STD:ArrangeIcons)
END
MENU('Help'),USE(?HelpMenu),LAST,RIGHT
ITEM('Contents'),USE(?HelpContents),STD(STD:HelpIndex)
ITEM('Search for Help On...'),USE(?HelpSearch),STD(STD:HelpSearch)
ITEM('How to Use Help'),USE(?HelpOnHelp),STD(STD:HelpOnHelp)
ITEM('About MyApp...'),USE(?HelpAbout)
END
END
END
(объявить объект, содержащий объект OLE или .OCX)
OLE
,AT( ) [,CURSOR( )] [,USE()] [,LAYOUT][,DISABLE] [,KEY()] [,MSG()] [,HLP()] [,SKIP] [,FULL] [,TIP()][,SCROLL] [,ALRT( )] [,HIDE] [,FONT( )] [,DROPID( )] [,COMPATIBILITY( )]
[, | CREATE( ) | ] [, | CLIP | ] [,свойство( значение )]
| OPEN( ) | | AUTOSIZE |
| LINK( ) | | STRETCH |
| DOCUMENT( ) | | ZOOM |
[ MENUBAR
объявление меню и/или пунктов меню
END ]
END
OLE
Поместить в окно или панель инструментов поле OLE (Object Linking and Embedding) или .OCX.AT
Задает первоначальные размеры и положение экранного объекта (PROP:AT). Если параметр опущен, то значения по умолчанию выбираются самим объектом.CURSOR
Указывает форму курсора мыши при попадании его в пределы данного объекта (PROP:CURSOR). Если атрибут опущен, то используется значение атрибута CURSOR структуры WINDOW, если и он отсутствует, то используется курсор принятый в Windows по умолчанию.USE
Метка соответствия или имя переменной в которую заносится “значение” экранного объекта (PROP:USE).LAYOUT
Указывает, что объект будет отображен в направлении слева направо или справа налево (PROP:LAYOUT).DISABLE
Указывает, что когда окно WINDOW (или APPLICATION) раскрывается впервые, данное поле выглядит затушеванным (PROP:DISABLE).KEY
Задает целочисленную константу или мнемонический код клавиши (или комбинации клавиш), с помощью которой фокус немедленно переключается на этот объект (PROP:KEY).MSG
Задает строковую константу, содержащую текст, который следует вывести в строке состояния, когда на данное поле переключен фокус (PROP:MSG).HLP
Задает строковую константу, содержащую идентификатор системы справки для данного поля (PROP:HLP).SKIP
Указывает, что на это поле фокус не переключается, доступ к нему может быть осуществлен только посредством мыши или клавиш ускоренного доступа (PROP:SKIP).FULL
Указывает, что по любому из опущенных параметров атрибута AT (ширина или высота) объект расширяется таким образом, чтобы занимать всю протяженность окна (PROP:FULL).TIP
Задает текст, который выводится как “всплывающая” подсказка, когда курсор мыши задерживается на экранном объекте (PROP:ToolTIP).SCROLL
Указывает, что поле подвергается скроллингу вместе с содержимым окна (PROP:SCROLL).ALRT
Задает активные горячие клавиши для данного поля (PROP:ALRT).HIDE
Задает, что когда окно WINDOW или APPLICATION раскрывается в первый раз, данное поле не прорисовывается (PROP:HIDE). Для того, чтобы отобразить это поле нужно использовать оператор UNHIDE.FONT
Задает шрифт для вывода текста в объекте (PROP:FONT).DROPID
Указывает, что данное управляющее поле может служить областью в которой происходит вторая часть операции “потащить и отпустить” - отпускание объекта (PROP:DROPID).COMPATIBILITY
Задает режим совместимости для некоторых объектов OLE и .OCX, которые того требуют (PROP:COMPATIBILITY).CREATE
Указывает, что в поле создается новый объект OLE или .OCX (PROP:CREATE).OPEN
Указывает, данный экранный объект открывает объект из специального файла (OLE Compound Storage file) (PROP:OPEN). При открытии объекта загружается сохраненный вариант значений свойств контейнера (клиента), поэтому не нужно задавать их заново.LINK
Указывает, что данный OLE-объект представляет собой связь с объектом из некого файла, например, таблицы Excel (PROP:LINK).DOCUMENT
Указывает, что данный OLE-объект представляет собой объект из некого файла, например, таблицы Excel (PROP:DOCUMENT).CLIP
Указывает, что для внедряемого объекта высвечивается только та его часть, которая помещается рамки, определенными атрибутом AT экранного объекта- контейнера (PROP:CLIP). Если внедряемый объект больше чем определенное для него экранное поле OLE, то отображается только его верхний левый угол.AUTOSIZE
Указывает, что когда параметры атрибута AT поля-контейнера изменяются во время выполнения программы, используя PROP:AT, внедряемый объект автоматически изменяет свои размеры (PROP:AUTOSIZE).STRETCH
Указывает, что OLE-объект растягивается таким образом, чтобы заполнить весь OLE-контейнер, размеры которого заданы атрибутом AT (PROP:STRETCH).ZOOM
Указывает, что размеры OLE-объекта увеличиваются таким образом, чтобы заполнить весь OLE-контейнер, размеры которого заданы атрибутом AT, не нарушая пропорциональности объекта (PROP:ZOOM).свойство
Строковая константа, содержащая имя пользовательского (не системного) свойства, устанавливаемого для данного экранного объекта.значение
Строковая константа, содержащая значение свойства или метку соответствия для свойства.MENUBAR
Определяет структуру меню для объекта. Это точно такая же структура как MENUBAR в окне APPLICATION или WINDOW и она вливается в меню прикладной программы.меню и/или пункты
Объявления меню и/или пунктов меню, которые описывают возможный в нем выбор.Структура
OLE размещает в окне или панели инструментов (недопустима в отчетах) объект OLE или .OCX, положение и размеры которого задаются атрибутом AT. Атрибут свойство позволяет указать значения дополнительных свойств, которые могут требоваться объектом OLE или .OCX. Это свойства, задание которых обеспечивает правильную работу объекта OLE или .OCX и не являющиеся стандартными для Clarion свойствами (такими как AT, CURSOR или USE). Пользовательский экранный объект воспринимает только те свойства, которые для него определены. Допустимые свойства и их значения должны быть описаны в документации на эти пользовательские экранные объекты. Для одного объекта OLE можно указать несколько атрибутов свойство.Генерируемые события:
EVENT:Selected
На объект переключен фокус .EVENT:Accepted Пользователь завершил работу с объектом
EVENT:PreAlertKey Пользователь нажал определенную атрибутом ALRT горячую клавишу.
EVENT:AlertKey Пользователь нажал определенную атрибутом ALRT горячую клавишу.
EVENT:Drop Успешная операция “потащить и отпустить” в область данного объекта.
Пример
:PROGRAM
MAP
INCLUDE('OCX.CLW')
END
W WINDOW('OCX Controls'),AT(,,200,200),RESIZE,STATUS(-1,-1),SYSTEM
MENUBAR
ITEM('E&xit!'),USE(?Exit)
ITEM('&About!'),USE(?About)
ITEM('&Properties!'),USE(?Property)
END
OLE,AT(0,0,0,0),USE(?oc1),HIDE,CREATE('COMCTL.ImagelistCtrl.1').
OLE,AT(0,0,150,20),USE(?oc2),CREATE('TOOLBAR.ToolbarCtrl.1').
END
CODE
OPEN(W)
?oc1{'ListImages.Add(1,xyz,' & ocxloadimage('IRCLOCK.BMP') & ')'}
?oc1{'ListImages.Add(2,abc,' & ocxloadimage('IRCLOCK2.BMP') & ')'}
?oc2{'ImageList'} = ?oc1{PROP:Object}
LOOP X# = 1 TO 3
?oc2{'Buttons.Add(,,,,1)'}; ?oc2{'Buttons.Add(,,,,2)'}
END
ACCEPT
CASE EVENT()
OF EVENT:Accepted
CASE FIELD()
OF ?Exit
BREAK
OF ?About
?oc1{'AboutBox'} !
Вывести окно AboutBox объекта OCXOF ?Property
?oc1{PROP:DoVerb} = -7 !
Вывести диалоговое окно свойств объекта OCXEND
END
END
Смотри также:
Связывание и внедрение объектов, Пользовательские объекты OLE (.OCX), Библиотечные процедуры OCX
OPTION (объявить группу кнопок с зависимой фиксацией)
OPTION(
текст) ,AT( ) [,CURSOR( )] [,USE( )] [,LAYOUT( )][,DISABLE] [,KEY( )] [,MSG( )] [,HLP( )] [,BOXED][,FULL] [,SCROLL] [,HIDE] [,FONT( )] [,ALRT( )] [,SKIP] [DROPID( )] [,TIP( )] [,TRN] [,COLOR( )]
[,BEVEL( )] [,EXTEND( )]
радиокнопки
END
OPTION
Объявляет группу кнопок с зависимой фиксациейтекст Строковая константа, содержащая подсказку для группы объектов (PROP:Text). Константа может содержать амперсанд (&), обозначающий горячую “букву” в подсказке. Текст подсказки отображается на экране, только если дополнительно указан атрибут BOXED.
AT
Задает первоначальные размеры и расположение группы (PROP:AT). Если этот атрибут опущен, то по умолчанию параметры выбираются библиотечной процедурой.CURSOR
Задает форму, которую должен принимать курсор мыши, при попадании в пределы группы (PROP:CURSOR). Если этот атрибут опущен, то используется значение атрибута CURSOR структуры WINDOW, если же и тот не указан, то курсор имеет форму, используемую в среде Windows по умолчанию. Не допустим в отчетах.USE
Метка переменной, в которую заносится значение для выбранной пользователем кнопки (PROP:USE). Если это строковая переменная, то передается значение строки RADIO (без амперсанда, указывающего клавишу ускоренного доступа). Если это числовая переменная, то заносится значение порядковой позиции в OPTION кнопки RADIO выбранной пользователем (значение, возвращаемое процедурой CHOICE()).LAYOUT
Указывает, что объект будет отображен в направлении слева направо или справа налево (PROP:LAYOUT).DISABLE
Указывает, что когда окно WINDOW (или APPLICATION) раскрывается впервые, данная группа выглядит затушеванной (PROP:DISABLE).KEY
Задает целочисленную константу или мнемонический код клавиши (или комбинации клавиш), с помощью которой фокус немедленно переключается на включенную в данный момент кнопку этой группы (PROP:KEY). Не допустим в отчетах.MSG
Задает строковую константу, содержащую текст, который по умолчанию следует вывести в строке состояния, когда на любую кнопку из данной группы переключен фокус (PROP:MSG). Не допустим в отчетах.HLP
Задает строковую константу, содержащую идентификатор системы справки используемой по умолчанию для любой кнопки из данной группы (PROP:HLP). Не допустим в отчетах.BOXED
Задает наличие вокруг группы рамки, проведенной одинарной линией, и заголовка в верхней части рамки (PROP:BOXED).FULL
Указывает, что по любому из опущенных параметров атрибута AT (ширина или высота) группа расширяется таким образом, чтобы занимать всю протяженность окна или полосы отчета (PROP:FULL). Не допустим в отчетах.SCROLL
Указывает, что группа подвергается скроллингу вместе с содержимым окна (PROP:SCROLL). Не допустим в отчетах.HIDE
Задает, что когда окно WINDOW или APPLICATION раскрывается в первый раз, сам объект - группа и все объекты в нем не прорисовываются (PROP:HIDE). Для того, чтобы отобразить группу и объекты в ней нужно использовать оператор UNHIDE.FONT
Задает шрифт для вывода текста в данной группе и шрифт, используемый по умолчанию для любой кнопки данной группы (PROP:FONT).ALRT
Задает активные горячие клавиши для объектов данной группы (PROP:ALRT). Не допустим в отчетах.SKIP
Указывает, что на объекты данной группы фокус ввода не переключается и доступ к ним может быть осуществлен только посредством мыши или клавиши ускоренного доступа (PROP:SKIP). Не допустим в отчетах.DROPID
Указывает, что данная группа может служить областью в которой происходит вторая часть операции “потащить и отпустить” - отпускание объекта (PROP:DROPID). Не допустим в отчетах.TIP
Задает текст, который выводится как “всплывающая” подсказка, когда курсор мыши задерживается на экранном объекте (PROP:ToolTIP). Не допустим в отчетах.COLOR
Задает цвет фона для объекта (PROP:COLOR).BEVEL
Задает эффект объемности границ объекта (PROP:BEVEL). Не допустим в отчетах.TRN
Указывает, что объект выводится на “прозрачном” фоне (PROP:TRN).EXTEND
Указывает, что используется специальная информация форматирования документа. Эта информация включает допустимую строку с атрибутами, которые определяют поведение отчета для данного типа документа. Допустим только в отчетах.кнопки Несколько объявлений кнопок с зависимой фиксацией.
Оператор
OPTION объявляет группу кнопок с зависимой фиксацией, которые предлагают пользователю список возможных альтернатив. Несколько объектов типа RADIO в структуре OPTION объявляют альтернативы, предлагаемые пользователю. В отчетах OPTION выводит на печать группу RADIO полей, которые изображают на экране перечень выбираемых компонент. Сделанный выбор обозначается закрашиванием соответствующей кнопки RADIO.Фокус ввода переключается между кнопками с независимой фиксацией, с помощью которых указывается, что только одна отдельная кнопка включена. Это означает, что события (EVENT:Selected), генерируемые когда пользователь переключает фокус внутри структуры OPTION, являются характерными для поля, на которое производится воздействие, а не для структуры OPTION, в которой они содержатся. В структуре OPTION не генерируется событие EVENT:Selected. В любом случае, поле RADIO не получает события
EVENT: Accepted, но структура OPTION получает EVENT: Accepted, когда пользователь выбирает RADIO.В строковую переменную, использованную в качестве атрибута USE структуры OPTION заносится текст, соответствующий выбранной пользователем кнопке. Процедура CHOICE(?Option) возвращает номер выбранного поля типа RADIO. Если содержимое атрибута USE структуры OPTION является числовой величиной, то в нее заносится номер выбранной пользователем кнопки (значение, возвращаемое процедурой CHOICE).
Ситуация, когда не выбрано ни одно поле RADIO является нормальной, и случается только когда USE-переменная структуры OPTION содержит значение, не совпадающее ни с одним ее компонентом - полем типа RADIO. Эта ситуация длится только до тех пор, пока пользователь не выбрал одно из полей RADIO.
Генерируемые события:
EVENT:Accepted Одно из полей RADIO выбрано пользователем
EVENT:PreAlertKey Пользователь нажал заданную атрибутом ALRT горячую клавишу.
EVENT:AlertKey Пользователь нажал заданную атрибутом ALRT горячую
клавишу.EVENT:Drop Кнопка мыши отпущена над объектом - целью операции “потащить и отпустить”
Пример
:MDIChild WINDOW('Child One'),AT(0,0,320,200),MDI,MAX,HVSCROLL
OPTION('Option 1'),USE(OptVar1),KEY(F10Key),HLP('Option1Help')
RADIO('Radio 1'),AT(0,0,20,20),USE(?R1)
RADIO('Radio 2'),AT(20,0,20,20),USE(?R2)
END
OPTION('Option 2'),USE(OptVar2),MSG('Option 2'),SCROLL
RADIO('Radio 3'),AT(40,0,20,20),USE(?R3)
RADIO('Radio 4'),AT(60,0,20,20),USE(?R4)
END
OPTION('Option 3'),USE(OptVar3),AT(80,0,20,20),BOXED
RADIO('Radio 5'),AT(80,0,20,20),USE(?R5)
RADIO('Radio 6'),AT(100,0,20,20),USE(?R6)
END
OPTION('Option 4'),USE(OptVar4),FONT('Arial',12),CURSOR(CURSOR:Wait)
RADIO('Radio 7'),AT(120,0,20,20),USE(?R7)
RADIO('Radio 8'),AT(140,0,20,20),USE(?R8)
END
END
CustRpt REPORT,AT(1000,1000,6500,9000),THOUS
CustDetail DETAIL,AT(0,0,6500,1000)
OPTION('Option'),USE(OptVar),AT(80,0,20,20),BOXED
RADIO('Radio 1'),AT(80,0,20,20),USE(?R1)
RADIO('Radio 2'),AT(100,0,20,20),USE(?R2)
END
END
END
Смотри
также: RADIO, BUTTON, CHECK
PANEL (объявить панель в окне)
PANEL
,AT( ) [,USE( )] [,LAYOUT( )][,DISABLE] [,FULL] [,FILL( )] [,SCROLL] [,HIDE] [,BEVEL( )]PANEL
Объявить область в окне или на панели инструментов.AT
Задает первоначальные размеры и расположение объекта (PROP:AT). Если этот атрибут опущен, то по умолчанию параметры выбираются библиотечной процедурой.USE
Мнемоническая метка соответствия поля служащая для ссылок на него в исполняемых операторах (PROP:USE).LAYOUT
Указывает, что объект будет отображен в направлении слева направо или справа налево (PROP:LAYOUT).DISABLE
Указывает, что когда окно WINDOW (или APPLICATION) раскрывается впервые, данная группа выглядит затушеванной (PROP:DISABLE).FULL
Указывает, что по любому из опущенных параметров атрибута AT (ширина или высота) объект расширяется таким образом, чтобы занимать всю протяженность окна (PROP:FULL).FILL
Задает цвет области внутри объекта (PROP:FILL). Если этот атрибут опущен, то область внутри объекта не закрашивается.SCROLL
Указывает, что объект подвергается скроллингу вместе с содержимым окна (PROP:SCROLL).HIDE
Задает, что когда окно WINDOW или APPLICATION раскрывается в первый раз, сам объект не прорисовываются (PROP:HIDE). Для того, чтобы отобразить группу и объекты в ней нужно использовать оператор UNHIDE.BEVEL
Задает эффект объемности границ объекта (PROP:BEVEL).Объектом
PANEL определяется область на экране или панели инструментов (не допустим в отчетах), размеры и положение которой описываются атрибутом AT. Обычно, панель используется чтобы обрамить некоторую область с заданными объемными границами. На этот объект не может переключаться фокус и для него не генерируется никаких событий.Пример
:MDIChild WINDOW('Child One'),AT(0,0,320,200),MDI,MAX,HVSCROLL
PANEL,AT(10,100,20,20),USE(?P1),BEVEL(-2,2)
END
Смотри также:
BOX, GROUP(объявить поле - подсказку)
PROMPT(
текст) ,AT( ) [,CURSOR( )] [,USE( )] [,LAYOUT( )][,DISABLE] [,FONT( )] [,FULL] [,SCROLL] [,TRN][,HIDE] [,DROPID( )] [, | LEFT | ] [,COLOR( )]
| RIGHT |
| CENTER |
PROMPT
Объявляет поле - подсказку для следующего за ним в структуре WINDOW или TOOLBAR поля.текст Строковая константа, содержащая текст подсказки (PROP:Text). Она может включать амперсанд, указывающий горячую “букву” для этой подсказки.
AT
Задает первоначальные размеры и расположение окна списка (PROP:AT). Если этот атрибут опущен, то по умолчанию параметры выбираются библиотечной процедурой.CURSOR
Задает форму, которую должен принимать курсор мыши, при попадании в этот объект (PROP:CURSOR). Если этот атрибут опущен, то используется значение атрибута CURSOR структуры WINDOW, если же и тот не указан, то курсор имеет форму, используемую в среде Windows по умолчанию.USE
Метка соответствия поля, которая служит для ссылок на данное поле в исполняемых операторах (PROP:USE).LAYOUT
Указывает, что объект будет отображен в направлении слева направо или справа налево (PROP:LAYOUT).DISABLE
Указывает, что когда окно WINDOW (или APPLICATION) раскрывается впервые, данное поле выглядит затушеванным (PROP:DISABLE).FONT
Задает шрифт для вывода текста в подсказке (PROP:FONT).FULL
Указывает, что по любому из опущенных параметров атрибута AT (ширина или высота) подсказка расширяется таким образом, чтобы занимать всю протяженность окна (PROP:FULL).SCROLL
Указывает, что поле подвергается скроллингу вместе с содержимым окна (PROP:SCROLL).TRN
Задает, что объект выводится на "прозрачном" фоне (PROP:TRN).HIDE
Задает, что когда окно WINDOW или APPLICATION раскрывается в первый раз, данное поле не прорисовывается. (PROP:HIDE). Для того, чтобы отобразить это поле нужно использовать оператор UNHIDE.DROPID
Указывает, что данный объект может служить областью, в которой происходит вторая часть операции “перетащить и отпустить” - отпускание объекта (PROP:DROPID).LEFT
Задает, что текст подсказки выравниваются влево (PROP:LEFT).RIGHT
Задает, что текст подсказки выравниваются вправо (PROP:RIGHT).CENTER
Задает, что текст подсказки выравниваются по центру (PROP:CENTER).COLOR
Задает цвет фона объекта (PROP:COLOR).Оператор
PROMPT объявляет поле-подсказку для следующего за ним в структуре WINDOW или TOOLBAR поля (не допустим в отчетах). Положение и размеры текста подсказки задаются атрибутом AT.Текст
подсказки может включать амперсанд, указывающий, что следующая непосредственно за ним буква, является горячей клавишей. По умолчанию “горячая” буква высвечивается подчеркнутой, чтобы указать ее специальное назначение. Эта “горячая” буква будучи нажатой в сочетании с клавишей Alt переключает фокус на следующее за ним в структуре WINDOW или TOOLBAR поле, на которое возможно его переключение.Выключение или неотображение (с помощью атрибутов DISABLE или HIDE) следующего за подсказкой не делает того же автоматически и с полем - подсказкой; его надо выключать или скрывать явно, в противном случае подсказка будет относиться к активному объекту, следующему в структуре WINDOW или TOOLBAR за скрытым или выключенным полем. Это позволяет поместить в окно подсказку, которая будет относиться к любому из нескольких объектов (если только один будет активен в любой момент времени). Если следующий активный объект является кнопкой (BUTTON), то, когда пользователь нажимает горячую клавишу для подсказки, кнопка нажимается.
Для того, чтобы включить амперсанд как часть текста подсказки, в строку поместите два амперсанда подряд, а высвечиваться будет только один.
На этот объект не может переключаться фокус.
Генерируемые события:
EVENT:Drop
Успешная операция “перетащить и отпустить” в данный объект.Пример
:MDIChild WINDOW('Child One'),AT(0,0,320,200),MDI,MAX,HVSCROLL
PROMPT('Enter Data:'),AT(10,100,20,20),USE(?P1),CURSOR(CURSOR:Wait)
ENTRY(@S8),AT(100,100,20,20),USE(E1)
PROMPT('Enter More Data:'),AT(10,200,20,20),USE(?P2),CURSOR(CURSOR:Wait)
ENTRY(@S8),AT(100,200,20,20),USE(E2)
ENTRY(@D1),AT(100,200,20,20),USE(E3)
END
CODE
OPEN(MDIChild)
IF SomeCondition
HIDE(?E2) !
Подсказка будет относиться к полю E3ELSE
HIDE(?E3) !
Подсказка будет относиться к полю E2END
Смотри
также: ENTRY, TEXT
PROGRESS (объявить индикатор степени выполнения)
PROGRESS
, AT( ) [,CURSOR( )] [,USE( )] [,LAYOUT( )][,DISABLE] [,FULL] [,SCROLL] [,HIDE][,TRN] [,COLOR( )] [,DROPID( )][,RANGE( )] [,SMOOTH( )] [,VERTICAL( )]
PROGRESS
Помещает в окно или панель инструментов объект, в котором отображается текущая степень выполнения некого длительного действия.AT
Задает первоначальные размеры и местоположение объекта (PROP:AT). Если этот параметр опущен, то значения по умолчанию выбираются библиотечной процедурой.CURSOR
Указывает форму курсора мыши, в которой тот отображается, когда он находится в пределах данного экранного объекта (PROP:CURSOR). Если этот атрибут опущен, то используется атрибут CURSOR структуры WINDOW, если он не указан и там, то используется курсор по умолчанию.USE
Имя переменной, содержащей значение степени выполнения процесса или метка соответствия, которая служит для обращения к данному объекту в исполняемых операторах (PROP:USE).LAYOUT
Указывает, что объект будет отображен в направлении слева направо или справа налево (PROP:LAYOUT).DISABLE
Указывает, что при первоначальном открытии окна данный объект отображается затушеванным (PROP:DISABLE).FULL
Указывает, что для любого пропущенного параметра атрибута AT объект распространяется по всей протяженности окна (PROP:FULL).SCROLL
Задает, что объект прокручивается вместе с окном (PROP:SCROLL).HIDE
Указывает, что при первом открытии структуры WINDOW или APPLICATION объект не высвечивается (PROP:HIDE). Для того, чтобы его отобразить, нужно использовать оператор UNHIDE.TRN
Указывает, что объект выводится на “прозрачном” фоне (PROP:TRN).COLOR
Задает цвет фона для объекта (PROP:COLOR).DROPID
Указывает, что данный объект может служить областью, в которой происходит вторая часть операции “перетащить и отпустить” - отпускание кнопки мыши (PROP:DROPID).RANGE
Задает диапазон значений диаграммы степени выполнения процесса (PROP:RANGE). По умолчанию диапазон значений от 0 до 100.SMOOTH
Активирует плавное приращение индикатора степени выполнения вместо стандартного “блочного” формата (PROP:Smooth).VERTICAL
Позволяет объекту индикатора степени выполнения (progress) отображаться по мере выполнения снизу вверх. Если индикатор находится в горизонтальном положении (слева направо), то вы должны его соответственно переместить.Экранный объект
PROGRESS высвечивает динамическую линейную диаграмму в окне или панели инструментов (не допустим в отчетах). Обычно она отображает текущий процент выполнения некого длительного действия.Если атрибутом USE указана переменная, то при изменении значения этой переменной автоматически обновляется линейка диаграммы. Если же USE-переменная представляет собой метку соответствия, то присваивая свойству PROP:progress (необъявляемое свойство - смотри раздел Необъявляемые свойства) значение, лежащее в определенном атрибутом RANGE диапазоне, можно непосредственно обновлять индикатор.
Этот объект не может принимать фокус ввода.
Генерируемые события:
EVENT:Drop
Успешная операция “перетащить и отпустить” в данный объект.Пример
:BackgroundProcess PROCEDURE !
Фоновый процессProgressVariable LONG
Win WINDOW('Batch Processing...'),AT(,,400,400),TIMER(1),MDI,CENTER
PROGRESS,AT(100,100,200,20),USE(ProgressVariable),RANGE(0,200)
PROGRESS,AT(100,140,200,20),USE(?ProgressBar),RANGE(0,200)
BUTTON('Cancel'),AT(190,300,20,20),STD(STD:Close)
END
CODE
OPEN(Win)
OPEN(File)
?ProgressVariable{PROP:rangehigh} = RECORDS(File)
?ProgressBar{PROP:rangehigh} = RECORDS(File)
SET(File) !
Запустить процессACCEPT
CASE EVENT()
OF EVENT:CloseWindow
BREAK
OF EVENT:Timer !
Обрабатывать записи, когда таймерные события позволяютProgressVariable += 3 !
Автоматическое обновление 1-го индикатораLOOP 3 TIMES
NEXT(File)
IF ERRORCODE()
BREAK
END
?ProgressBar{PROP:progress} = ?ProgressBar{PROP:progress} + 1
!
Ручное обновление 2-го индикатора!выполнить некоторые операции по пакетной обработке
END
END
END
CLOSE(File)
RADIO (объявить кнопку с зависимой фиксацией)
RADIO(
текст) ,AT( ) [,CURSOR( )] [,USE( )] [,LAYOUT( )] [,DISABLE] [,KEY( )] [,MSG( )] [,HLP( )] [,SKIP][,FONT( )] [,ICON( )] [,FULL] [,SCROLL] [,HIDE] [,ALRT( )] [DROPID( )] [VALUE( )]
[,TIP( )] [,TRN] [,COLOR( )] [,FLAT] [, | LEFT | ] [,EXTEND( )]
| RIGHT |
RADIO
Объявляет кнопку с зависимой фиксацией в структуре WINDOW или TOOLBAR.текст Строковая константа, содержащая текст, который должен выводиться для кнопки с зависимой фиксацией (PROP:Text). Константа может содержать амперсанд (&), обозначающий горячую “букву” для кнопки.
AT
Задает первоначальные размеры и расположение кнопки (PROP:AT). Если этот атрибут опущен, то по умолчанию параметры выбираются библиотечной процедурой.CURSOR
Задает форму, которую должен принимать курсор мыши, при попадании в пределы кнопки (PROP:CURSOR). Если этот атрибут опущен, то используется значение атрибута CURSOR структуры WINDOW, если же и тот не указан, то курсор имеет форму, используемую в среде Windows по умолчанию. Не допустим в отчетах.USE
Метка соответствия поля, которая служит для ссылок на данное поле в исполняемых операторах (PROP:USE).LAYOUT
Указывает, что объект будет отображен в направлении слева направо или справа налево (PROP:LAYOUT).DISABLE
Указывает, что когда окно WINDOW (или APPLICATION) раскрывается впервые, данная кнопка выглядит затушеванной (PROP:DISABLE).KEY
Задает целочисленную константу или мнемонический код клавиши (или комбинации клавиш), с помощью которой немедленно выбирается данная кнопка (PROP:KEY). Не допустим в отчетах.MSG
Задает строковую константу, содержащую текст, который по умолчанию следует вывести в строке состояния, когда на данную кнопку переключается фокус (PROP:MSG). Не допустим в отчетах.HLP
Задает строковую константу, содержащую идентификатор системы справки для данной кнопки (PROP:HLP). Не допустим в отчетах.SKIP
Указывает, что на данную кнопку фокус ввода не переключается и доступ к ней может быть осуществлен только посредством мыши или клавиши ускоренного доступа (PROP:SKIP). Не допустим в отчетах.FONT
Задает шрифт для вывода текста для данной кнопки (PROP:FONT).ICON
Задает имя файла с изображением или стандартной пиктограммы, которая должна высвечиваться на поверхности “нажимной” кнопки (PROP:ICON). Не допустим в отчетах.FULL
Указывает, что по любому из опущенных параметров атрибута AT (ширина или высота) кнопка расширяется таким образом, чтобы занимать всю протяженность окна (PROP:FULL). Не допустим в отчетах.SCROLL
Указывает, что кнопка подвергается скроллингу вместе с содержимым окна (PROP:SCROLL). Не допустим в отчетах.HIDE
Задает, что когда окно WINDOW или APPLICATION раскрывается в первый раз, сам объект - кнопка не прорисовываются (PROP:HIDE). Для того, чтобы отобразить кнопку нужно использовать оператор UNHIDE.ALRT
Задает активные горячие клавиши для данной кнопки (PROP:ALRT). Не допустим в отчетах.DROPID
Указывает, что данная кнопка может служить областью в которой происходит вторая часть операции “потащить и отпустить” - отпускание объекта (PROP:DROPID). Не допустим в отчетах.VALUE
Указывает, какое значение принимает USE-переменная структуры OPTION, когда данная кнопка радио выбирается пользователем (PROP:VALUE).TIP
Задает текст, который выводится как “всплывающая” подсказка, когда курсор мыши задерживается на экранном объекте (PROP:ToolTIP). Не допустим в отчетах.TRN
Задает, что объект выводится на “прозрачном” фоне (PROP:TRN).COLOR
Задает цвет фона объекта (PROP:COLOR).FLAT
Указывает, что кнопка является плоской всегда, за исключением тех случаев, когда курсор проходит над полем. (PROP:FLAT). Требуется атрибут ICON. Не допустим в отчетах.LEFT
Указывает, что текст выводится слева от кнопки (PROP:LEFT).RIGHT
Указывает, что текст выводится справа от кнопки (PROP:RIGHT). Это позиция по умолчанию.EXTEND
Указывает, что используется специальная информация форматирования документа. Эта информация включает допустимую строку с атрибутами, которые определяют поведение отчета для данного типа документа. Допустим только в отчетах.Оператор
RADIO объявляет кнопку с зависимой фиксацией в структуре WINDOW, TOOLBAR или REPORT, место и размеры которой заданы его атрибутом AT. Объект RADIO может помещаться только в структуре OPTION. Если не использован атрибут VALUE, то текст, соответствующий выбранной пользователем кнопке, (без обозначавшего горячую клавишу амперсанда) помещается в USE-переменную структуры OPTION. Когда пользователь осуществил RADIO-выбор (значение USE-переменной поля OPTION), то на экране закрашивается соответствующая кнопка RADIO.Поле RADIO с атрибутом ICON изображается в виде фиксирующейся кнопки с пиктограммой на поверхности. Когда кнопка выглядит отжатой, она выключена, когда кнопка выглядит нажатой, то она включена, а USE-переменная принимает значение параметра текст выбранной кнопки (если не указан атрибут VALUE).
На радио кнопке генерируется событие
EVENT:SELECTED, а структура OPTION в которой находится эта кнопка генерирует событие EVENT:ACCEPTED.Генерируемые события:
EVENT:Selected На кнопку переключен фокус ввода.
EVENT:PreAlertKey Пользователь нажал заданную атрибутом ALRT горячую клавишу.
EVENT:AlertKey
Пользователь нажал заданную атрибутом ALRT горячую клавишу.EVENT:Drop Кнопка мыши отпущена над объектом - целью операции “потащить и отпустить”
Пример
:MDIChild WINDOW('Child One'),AT(0,0,320,200),MDI,MAX,HVSCROLL
OPTION('Option 1'),USE(OptVar1)
RADIO('Radio 1'),AT(0,0,20,20),USE(?R1),KEY(F10Key)
RADIO('Radio 2'),AT(20,0,20,20),USE(?R2),MSG('Radio 2')
END
OPTION('Option 2'),USE(OptVar2)
RADIO('Radio 3'),AT(40,0,20,20),USE(?R3),FONT('Arial',12)
RADIO('Radio 4'),AT(60,0,20,20),USE(?R4),CURSOR(CURSOR:Wait)
END
OPTION('Option 3'),USE(OptVar3)
RADIO('Radio 5'),AT(80,0,20,20),USE(?R5),HLP('Radio5Help')
RADIO('Radio 6'),AT(100,0,20,20),USE(?R6)
END
OPTION('Option 4'),USE(OptVar4)
RADIO('Radio 7'),AT(120,0,20,20),USE(?R7),ICON('Radio1.ICO')
RADIO('Radio 8'),AT(140,0,20,20),USE(?R8),ICON('Radio2.ICO')
END
OPTION('Option 5'),USE(OptVar5)
RADIO('Radio 9'),AT(100,20,20,20),USE(?R9),LEFT
RADIO('Radio 10'),AT(120,20,20,20),USE(?R10),LEFT
END
OPTION('Option 6'),USE(OptVar6),SCROLL
RADIO('Radio 11'),AT(200,0,20,20),USE(?R11),SCROLL
RADIO('Radio 12'),AT(220,0,20,20),USE(?R12),SCROLL
END
END
CustRpt REPORT,AT(1000,1000,6500,9000),THOUS
CustDetail DETAIL,AT(0,0,6500,1000)
OPTION('Option'),USE(OptVar),AT(80,0,20,20),BOXED
RADIO('Radio 1'),AT(80,0,20,20),USE(?R1)
RADIO('Radio 2'),AT(100,0,20,20),USE(?R2)
RADIO('Radio 3'),AT(100,0,20,20),USE(?R2),LEFT
END
END
END
Смотри
также: OPTION, CHECK, BUTTON(объявить объект - область в окне)
REGION
,AT( ) [,CURSOR( )] [,USE( )] [,LAYOUT( )] [,DISABLE] [,FILL] [,COLOR( )] [,IMM] [,FULL][,SCROLL] [,HIDE] [,DRAGID( )] [,DROPID( )] [,BEVEL( )]
REGION
Объявляет область в структуре WINDOW или TOOLBAR.AT
Задает первоначальные размеры и расположение области (PROP:AT). Если этот атрибут опущен, то по умолчанию параметры выбираются библиотечной процедурой.CURSOR
Задает форму, которую должен принимать курсор мыши, при попадании в пределы области (PROP:CURSOR). Если этот атрибут опущен, то используется значение атрибута CURSOR структуры WINDOW, если же и тот не указан, то курсор имеет форму, используемую в среде Windows по умолчанию.USE
Метка соответствия поля, которая служит для ссылок на данное поле в исполняемых операторах (PROP:USE).LAYOUT
Указывает, что объект будет отображен в направлении слева направо или справа налево (PROP:LAYOUT).DISABLE
Указывает, что когда окно WINDOW (или APPLICATION) раскрывается впервые, данная область выглядит затушеванной (PROP:DISABLE).FILL
Задает числовые величины компонент красного, зеленого и синего цвета, которые составляют цвет закрашивания области (PROP:FILL). Если опущен, то цветом не заполняется.COLOR
Указывает цвет рамки области (PROP:COLOR). Если атрибут опущен, то рамки нет вообще.IMM
Задает генерацию события при перемещении мыши в области (PROP:IMM).FULL
Указывает, что по любому из опущенных параметров атрибута AT (ширина или высота) область расширяется таким образом, чтобы занимать всю протяженность окна (PROP:FULL).SCROLL
Указывает, что кнопка подвергается скроллингу вместе с содержимым окна (PROP:SCROLL).HIDE
Задает, что когда окно WINDOW или APPLICATION раскрывается в первый раз, область не прорисовываются (PROP:HIDE). Для того, чтобы отобразить область нужно использовать оператор UNHIDE.DRAGID
Указывает, что данный объект может служить областью – источником данных или объектов для операции “потащить и отпустить” (PROP:DRAGID).DROPID
Указывает, что в данной области может происходить вторая часть операции “потащить и отпустить” - отпускание объекта (PROP:DROPID).BEVEL
Задает эффект объемности границ объекта (PROP:BEVEL).TRN
Задает, что объект выводится на “прозрачном” фоне (PROP:TRN).Оператор
REGION определяет область на экране в окне или панели инструментов (не допустим в отчетах), место и размеры которой задаются его атрибутом AT. Обычно, причиной описания область является необходимость обнаружения положения курсора мыши в данном месте. Когда событие попадания курсора в заданную область происходит, для определения точных координат курсора можно использовать процедуры MOUSEX и MOUSEY. Использование атрибута IMM вызывает включение некоторого избыточного программного кода и дополнительные затраты времени во время выполнения программы, так что этот атрибут следует использовать только когда это действительно необходимо. На область определенную оператором REGION фокус ввода переключаться не может.Область, описанная с атрибутом DRAGID может служить для операции “потащить и отпустить” источником, обеспечивающим данные, которые должны переноситься или копироваться в другой объект. В области с атрибутом DROPID может служить для операции “потащить и отпустить” “целью” - областью, принимающей данные. Эти атрибуты функционируют совместно, чтобы задать “ярлыки” для операции “потащить и отпустить”, которые определяет допустимую цель операции. Для выполнения переноса данных, наряду с процедурой SETDROPID используются процедуры DRAGID() и DROPID(). Поскольку оператором REGION можно описать область поверх любого другого объекта, можно написать программу обмена данными операцией “потащить и отпустить” между любыми двумя экранными объектами. Просто определите области операторами REGION, чтобы управлять необходимыми операциями “потащить и отпустить”.
Генерируемые события:
EVENT:Accepted Пользователь щелкнул мышью, указывая в пределы области.
EVENT:MouseIn Курсор мыши вошел в пределы области (только с атрибутом
IMM).EVENT:MouseOut Курсор мыши вышел за пределы области (только с атрибутом
IMM)..EVENT:MouseMove Курсор мыши переместился в пределах области (только с атрибутом
IMM)..EVENT:Dragging Курсор мыши находится над объектом – потенциальной целью.
EVENT:Drag Кнопка мыши отпущена над объектом – потенциальной целью.
EVENT:Drop Кнопка мыши отпущена над объектом – потенциальной целью.
Пример
:MDIChild WINDOW('Child One'),AT(0,0,320,200),MDI,MAX,HVSCROLL
REGION,AT(10,100,20,20),USE(?R1),BEVEL(-2,2)
REGION,AT(100,100,20,20),USE(?R2),CURSOR(CURSOR:Wait)
REGION,AT(10,200,20,20),USE(?R3),IMM
REGION,AT(100,200,20,20),USE(?R4),COLOR(COLOR:ACTIVEBORDER)
REGION,AT(10,300,20,20),USE(?R5),FILL(COLOR:ACTIVEBORDER)
END
Смотри также:
PANEL
SHEET (объявить группу листов-закладок)
SHEET
,AT( ) [,CURSOR( )][,USE( )] [,LAYOUT( )] [,DISABLE][,KEY( )][,FULL][,SCROLL][,HIDE][,FONT()][,DROPID()][,WIZARD][,SPREAD][,HSCROLL][,JOIN][,NOSHEET][,COLOR()]
[,UP ] [,DOWN ] [, | LEFT | ] [,IMM ]
| RIGHT |
| ABOVE |
| BELOW |
листы
END
SHEET
Объявляет группу объектов типа TAB.AT
Задает первоначальные размеры и расположение объекта(PROP:AT). Если этот атрибут опущен, то значение по умолчанию выбирается библиотечной процедурой.CURSOR
Указывает форму курсора мыши, в которой тот отображается, когда он находится в пределах данного экранного объекта (PROP:CURSOR). Если этот атрибут опущен, то используется атрибут CURSOR структуры WINDOW, если он не указан и там, то используется курсор принятый по умолчанию в среде Windows.USE
Метка переменной, в которую заносится выбор пользователя (PROP:USE). Если это строковая переменная, то в нее заносится значение строки-параметра структуры TAB. Если же это числовая переменная, то в нее заносится номер выбранного в данный момент пользователем листа (число, возвращаемое процедурой CHOICE()).LAYOUT
Указывает, что объект будет отображен в направлении слева направо или справа налево (PROP:LAYOUT).DISABLE
Указывает, что при первом раскрытии окна WINDOW или APPLICATION набор листов выводится "затушеванным" (PROP:DISABLE).KEY
Задает целочисленную константу или мнемоническую метку соответствия клавиши, с помощью которой фокус немедленно переключается на выбранный лист в данном наборе (PROP:KEY).FULL
Указывает, что набор листов занимает всю протяженность окна по любому из опущенных в атрибуте AT измерений - длине или высоте (PROP:FULL).SCROLL
Указывает, что набор листов подвергается скроллингу вместе с окном (PROP:SCROLL).HIDE
Задает, что когда окно WINDOW или APPLICATION раскрывается в первый раз, данное поле не прорисовывается (PROP:HIDE). Для того, чтобы отобразить это поле нужно использовать оператор UNHIDE.FONT
Задает шрифт для вывода текста в данном объекте и шрифт, используемый по умолчанию для отдельных листов в данном наборе (PROP:FONT).DROPID
Указывает, что данная группа листов может служить областью, в которой происходит вторая часть операции “потащить и отпустить” - отпускание объекта (PROP:DROPID).WIZARD
Указывает что все листы данного набора сразу не выводятся (PROP:WIZARD). Управление переходом пользователя от листа к листу происходит программно.SPREAD
Указывает, что листы располагаются через равный промежуток друг от друга (PROP:SPREAD).HSCROLL
Указывает, что листы выводится в один ряд, а не в несколько, не взирая на то, сколько листов всего (PROP:HSCROLL). Для перелистывания на каждом краю листа присоединяются кнопки скроллинга вправо и влево (или вверх и вниз).JOIN
Указывает, что листы выводится в один ряд, а не в несколько, не взирая на то, сколько листов всего (PROP:JOIN). Для перелистывания на правом (или нижнем) краю листа присоединяются кнопки скроллинга вправо и влево (или вверх и вниз).NOSHEET
Указывает, что листы выводятся без зрительного образа листа (PROP:NOSHEET).COLOR
Задает цвет фона объекта (PROP:COLOR).UP
Задает, что значение параметра текст на листах выводится вертикально для чтения снизу вверх (PROP:UP).DOWN
Задает, что значение параметра текст на листах выводится вертикально для чтения сверху вниз (PROP:DOWN).LEFT
Указывает, что листы выводятся один за другим со сдвигом влево (PROP:LEFT).RIGHT
Указывает, что листы выводятся один за другим со сдвигом вправо (PROP:RIGHT).ABOVE
Указывает, что листы выводятся один за другим со сдвигом вверх (способ используемый по умолчанию) (PROP:ABOVE).BELOW
Указывает, что листы выводятся один за другим со сдвигом вниз (PROP:BELOW).IMM
Указывает, что когда пользователь щелкает мышью на листе генерируется событие EVENT:NewSelection (PROP:IMM).лист
Несколько объявлений объектов типа лист-закладка.Управляющий объект
SHEET объявляет набор (группу) листов-закладок, которые часто используются для предоставления пользователю нескольких “страниц” с объектами на одном экране (не допустим в отчетах). Несколько объектов TAB в структуре SHEET, объявляют “страницы”, выводимые пользователю.Переключение фокуса между листами в структуре SHEET означает, что воздействовать можно только на объекты данного отдельного листа. Это значит, что события, генерируемые при переключении фокуса внутри структуры SHEET относятся к объектам текущего листа, а не к структуре SHEET, в которой они содержатся.
В строковую переменную, использованную в качестве параметра атрибута USE, заносится текст - параметр выбранной пользователем структуры Tab, а процедура CHOICE(?Option) возвращает номер выбранной структуры Tab. Если USE-переменной структуры SHEET является числовая переменная, то она принимает номер выбранной пользователем структуры Tab (то же самое значение возвращает процедура CHOICE).
Вы можете использовать оператор
SELECT для принудительного указания номера листа в структуре SHEET в качестве второго параметра SELECT(?Sheet,TabNumber).Генерируемые события:
EVENT:TabChanging
Фокус переключается на другой лист.EVENT:
NewSelection Фокус переключается на другой лист или пользователь щелкнул мышью на листе в структуре SHHET с атрибутом IMM.EVENT:Drop
Успешная операция “перетащить и отпустить” в данный объект.Пример
:MDIChild WINDOW('Child One'),AT(0,0,320,200),MDI,MAX,HVSCROLL
SHEET,AT(0,0,320,175),USE(SelectedTab)
TAB('Tab One'),USE(?TabOne)
OPTION('Option 1'),USE(OptVar1),KEY(F10Key),HLP('Option1Help')
RADIO('Radio 1'),AT(20,0,20,20),USE(?R1)
RADIO('Radio 2'),AT(40,0,20,20),USE(?R2)
END
OPTION('Option 2'),USE(OptVar2),MSG('Option 2')
RADIO('Radio 3'),AT(60,0,20,20),USE(?R3)
RADIO('Radio 4'),AT(80,0,20,20),USE(?R4)
END
PROMPT('Enter Data:'),AT(100,100,20,20),USE(?P1)
ENTRY(@S8),AT(100,140,32,20),USE(E1)
PROMPT('Enter More Data:'),AT(100,200,20,20),USE(?P2)
ENTRY(@S8),AT(100,240,32,20),USE(E2)
END
TAB('Tab Two'),USE(?TabTwo)
OPTION('Option 3'),USE(OptVar3)
RADIO('Radio 1'),AT(20,0,20,20),USE(?R5)
RADIO('Radio 2'),AT(40,0,20,20),USE(?R6)
END
PROMPT('Enter Data:'),AT(100,100,20,20),USE(?P3)
ENTRY(@S8),AT(100,140,32,20),USE(E3)
PROMPT('Enter More Data:'),AT(100,200,20,20),USE(?P4)
ENTRY(@S8),AT(100,240,32,20),USE(E4)
END
END
BUTTON('Ok'),AT(100,180,20,20),USE(?Ok)
BUTTON('Cancel'),AT(200,180,20,20),USE(?Cancel)
END
Смотри также:
TAB(объявить вращающийся список)
SPIN(
шаблон) ,AT( ) [,CURSOR()] [,USE()] [,LAYOUT( )] [,DISABLE] [,KEY()] [,MSG()] [,HLP()] [,SKIP] [,FONT()][,FULL][,SCROLL][,ALRT()][,HIDE][,READONLY][,REQ][,IMM][,TIP()][,FLAT][,TRN][DROPID()][,COLOR()]
[,REPEAT( )] [,DELAY( )] [,MASK]
[, | UPR |] [, | LEFT | ] [, | INS | ] , | RANGE()[,STEP] | [, | HSCROLL| ]
| CAP | | RIGHT | | OVR | | FROM( ) | | VSCROLL|
| CENTER | | HVSCROLL|
| DECIMAL |
SPIN
Помещает в окно или панель инструментов “вращающийся” список элементов данных.шаблон Шаблон для отображения данных, который указывает формат данных, выводимых в списке (PROP:Text).
AT
Задает первоначальные размеры и расположение поля (PROP:AT). Если этот атрибут опущен, то значения выбираются библиотечной процедурой.CURSOR
Задает форму, которую должен принимать курсор мыши, при попадании в это поле (PROP:CURSOR). Если этот атрибут опущен, то используется значение атрибута CURSOR структуры WINDOW, если же и тот не указан, то курсор имеет форму, используемую в среде Windows по умолчанию.USE
Метка соответствия, которая служит для того, чтобы указывать на это поле в исполняемых операторах или имя переменной, которая получает значение, введенное в данное поле (PROP:USE).LAYOUT
Указывает, что объект будет отображен в направлении слева направо или справа налево (PROP:LAYOUT).DISABLE
Указывает, что когда окно WINDOW (или APPLICATION) раскрывается впервые, данное поле выглядит затушеванным (PROP:DISABLE).KEY
Задает целочисленную константу или мнемонический код клавиши (или комбинации клавиш), с помощью которой фокус немедленно переключается на это поле (PROP:KEY).MSG
Задает строковую константу, содержащую текст, который следует вывести в строке состояния, когда на данное поле переключен фокус (PROP:MSG).HLP
Задает строковую константу, содержащую идентификатор системы справки для данного поля (PROP:HLP).SKIP
Указывает, что для ввода данных в это поле фокус ввода переключается только посредством мыши или клавиши ускоренного доступа, и не задерживается на этом поле после завершения ввода данных (PROP:SKIP).FONT
Задает шрифт для вывода данных в этом поле (PROP:FONT).FULL
Указывает, что по любому из опущенных параметров атрибута AT (ширина или высота) поле расширяется таким образом, чтобы занимать всю протяженность окна (PROP:FULL).SCROLL
Указывает, что поле подвергается скроллингу вместе с содержимым окна (PROP:SCROLL).ALRT
Задает активные горячие клавиши для данного поля (PROP:ALRT).HIDE
Задает, что когда окно WINDOW или APPLICATION раскрывается в первый раз, данное поле не прорисовывается (PROP:HIDE). Для того, чтобы отобразить это поле нужно использовать оператор UNHIDE.READONLY
Указывает, что в поле нельзя ввести данные (PROP:READONLY).REQ
Задает, что поле не может оставаться пустым или нулевым (PROP:REQ).IMM
Указывает, что как только пользователь нажмет любую клавишу, немедленно происходит генерирование события (PROP:IMM).TIP
Задает текст, который выводится как “всплывающая” подсказка, когда курсор мыши задерживается на экранном объекте (PROP:ToolTip).FLAT
Указывает, что объект не имеет объемной границы вокруг (PROP:FLAT).TRN
Задает, что объект выводится на “прозрачном” фоне (PROP:TRN).DROPID
Указывает, что данное управляющее поле может служить областью в которой происходит вторая часть операции “потащить и отпустить” - отпускание объекта (PROP:DROPID).COLOR
Задает цвет фона по умолчанию и цвета переднего плана и фона для активизированного объекта (PROP:COLOR).REPEAT
Указывает коэффициент, с которым генерируется EVENT:NewSelection, когда spin-кнопка удерживается пользователем в нажатом положении (PROP:REPEAT).DELAY
Указывает задержку между первой и второй генерацией EVENT:NewSelection когда spin-кнопка удерживается пользователем в нажатом положении (PROP:DELAY).MASK
Указывает шаблон редактирования поля ввода ENTRY (PROP:MASK).UPR/CAP
Указывает, что данные вводятся прописными буквами или по типу имен собственных (Первая Буква В Каждом Слове Прописная) (PROP:UPR), (PROP:CAP).LEFT
Задает, что данные в области, заданной атрибутом AT, выравниваются влево (PROP:LEFT).RIGHT
Задает, что данные в области, заданной атрибутом AT, выравниваются вправо (PROP:RIGHT).CENTER
Задает, что данные в области, заданной атрибутом AT, выравниваются по центру (PROP:CENTER).DECIMAL
Задает, что данные в области, заданной атрибутом AT, выравниваются по десятичной точке (PROP:DECIMAL).INS/OVR
Задает при вводе данных режим вставки или замещения (допустимо только в окнах, имеющих атрибут MASK (PROP:INS и PROP:OVR).RANGE
Задает диапазон допустимых значений, которые пользователь может выбирать (PROP:RANGE).STEP
Задает величину приращения/уменьшения значения в диапазоне, заданном атрибутом RANGE (PROP:STEP). По умолчанию атрибут STEP равен 1.0.FROM
Указывает источник высвечиваемых пользователю вариантов выбора (PROP:FROM).HSCROLL
Задает кнопки вращающегося списка располагаются рядом, указывая налево и направо (PROP:HSCROLL).VSCROLL
Задает кнопки вращающегося списка располагаются одна над другой, указывая налево и направо (PROP:VSCROLL).HVSCROLL
Задает кнопки вращающегося списка располагаются рядом, указывая вверх и вниз.Объект
SPIN представляет собой “вращающийся” список данных в окне или на панели инструментов (не допустим в отчетах). Местоположение и размеры списка заданы атрибутом AT. “Вращающийся” список высвечивает только текущее значение для выбора и пару кнопок справа от него, позволяющих пользователю прокручивать возможные значения (подобно колесу игрального автомата).Если поле SPIN предлагает пользователю равномерную шкалу числовых значений для выбора, то атрибут RANGE указывает допустимый диапазон значений, из которого пользователь может выбирать. В этом случае совместно с атрибутом RANGE используется атрибут STEP, который служит
для того, чтобы задать величину приращения/уменьшения текущего значения. Если же шкала для выбора не является равномерными значениями или это строковые выражения, то вместо RANGE и STEP используется атрибут FROM. Атрибут FROM задает для объекта SPIN список возможных значений из очереди в памяти или строковой переменной. Используя атрибут FROM можно предоставить пользователю в поле SPIN любые варианты для выбора. Пользователь может выбрать элемент из списка или ввести желаемое значение, так что это поле может также функционировать как поле для ввода.Генерируемые события:
EVENT:Selected На данное поле переключен фокус.
EVENT:Accepted Пользователь выбрал значение в данном поле и перешел к другому полю.
EVENT:Rejected Пользователь ввел несоответствующее шаблону значение.
EVENT:NewSelection Пользователь изменил значение, высвечиваемое в данном поле.
EVENT:PreAlertKey Пользователь нажал заданную атрибутом ALRT горячую клавишу.
EVENT:AlertKey Пользователь нажал заданную атрибутом ALRT горячую клавишу.
EVENT:
Drop Кнопка мыши отпущена над объектом - целью операции “потащить и отпустить”.Пример
:MDIChild WINDOW('Child One'),AT(0,0,320,200),MDI,MAX,HVSCROLL
SPIN(@S8),AT(0,0,20,20),USE(SpinVar1),FROM(Que)
SPIN(@N3),AT(20,0,20,20),USE(SpinVar2),RANGE(1,999),KEY(F10Key)
SPIN(@N3),AT(40,0,20,20),USE(SpinVar3),RANGE(5,995),STEP(5)
SPIN(@S8),AT(60,0,20,20),USE(SpinVar4),FROM(Que),HLP('Check4Help')
SPIN(@S8),AT(80,0,20,20),USE(SpinVar5),FROM(Que),MSG('Button 3')
SPIN(@S8),AT(100,0,20,20),USE(SpinVar6),FROM(Que),FONT('Arial',12)
SPIN(@S8),AT(120,0,20,20),USE(SpinVar7),FROM(Que),DROP
SPIN(@S8),AT(160,0,20,20),USE(SpinVar8),FROM(Que),IMM
SPIN(@S8),AT(220,0,20,20),USE(SpinVar9),FROM('Mr|Mrs|Ms'),LEFT
END
STRING (объявить строковое поле)
STRING(
текст) ,AT( ) [,CURSOR( )] [,USE( )] [,LAYOUT( )] [,DISABLE] [,FONT( )] [,FULL] [,SCROLL] [,HIDE][,TRN] [,DROPID( )] [,COLOR( )] [,ANGLE( )] [,SKIP]
[, | LEFT | ] [, | PAGENO | ] [,EXTEND( )]
| RIGHT | | CNT( ) [, RESET( ) / PAGE ] [, TALLY( ) ] |
| CENTER | | SUM( ) [, RESET( ) / PAGE ] [, TALLY( ) ] |
| DECIMAL | | AVE( ) [, RESET( ) / PAGE ] [, TALLY( ) ] |
| MIN( ) [, RESET( ) / PAGE ] [, TALLY( ) ] |
| MAX( ) [, RESET( ) / PAGE ] [, TALLY( ) ] |
STRING
Помещает в окно или панель инструментов заданный текст.текст Строковая константа, содержащая подлежащий выводу текст, или шаблон для форматирования значения переменной, указанной атрибутом USE (PROP:Text).
AT
Задает первоначальные размеры и расположение поля (PROP:AT). Если этот атрибут опущен, то значения выбираются библиотечной процедурой.CURSOR
Задает форму, которую должен принимать курсор мыши, при попадании в это поле (PROP:CURSOR). Если этот атрибут опущен, то используется значение атрибута CURSOR структуры WINDOW, если же и тот не указан, то курсор имеет форму, используемую в среде Windows по умолчанию. Не допустим в отчетах.USE
Метка соответствия, которая служит для того, чтобы указывать на это поле в исполняемых операторах или имя переменной, чье содержимое высвечивается в формате, указанном шаблоном, объявленным вместо текста (PROP:USE).LAYOUT
Указывает, что объект будет отображен в направлении слева направо или справа налево (PROP:LAYOUT).DISABLE
Указывает, что когда окно WINDOW (или APPLICATION) раскрывается впервые, данное поле выглядит затушеванным (PROP:DISABLE).FONT
Задает шрифт для вывода текста в этом поле (PROP:FONT).FULL
Указывает, что по любому из опущенных параметров атрибута AT (ширина или высота) поле расширяется таким образом, чтобы занимать всю протяженность окна или полосы отчета (PROP:FULL). Не допустим в отчетах.SCROLL
Указывает, что поле подвергается скроллингу вместе с содержимым окна (PROP:SCROLL). Не допустим в отчетах.HIDE
Задает, что когда окно WINDOW или APPLICATION раскрывается в первый раз, данное поле не прорисовывается (PROP:HIDE). Для того, чтобы отобразить это поле нужно использовать оператор UNHIDE.TRN
Указывает, что текст или значение USE-переменной высвечиваются прозрачно на предыдущем фоне (PROP:TRN).DROPID
Указывает, что данное окно может служить областью, в которой происходит вторая часть операции “перетащить и отпустить” - отпускание объекта (PROP:DROPID). Не допустим в отчетах.SKIP
Указывает что данный элемент не печатается, если он содержит пробелы, а все остальные элементы смещаются вверх, чтобы не оставлять “пустого” места в бланке (PROP:SKIP). Допустим только в отчетах.LEFT
Задает, что текст в области, заданной атрибутом AT, выравнивается влево (PROP:LEFT).RIGHT
Задает, что текст в области, заданной атрибутом AT, выравнивается право (PROP:RIGHT).CENTER
Задает, что текст в области, заданной атрибутом AT, выравнивается по центру (PROP:CENTER).DECIMAL
Задает, что текст в области, заданной атрибутом AT, выравнивается по десятичной точке.(PROP:DECIMAL).COLOR
Задает цвет фона объекта (PROP:COLOR).ANGLE
Задает вывод текста под заданным углом, отсчитываемым против хода часовой стрелки от горизонтального направления (PROP:ANGLE).PAGENO
Устанавливает, что номер текущей страницы будет выведен в формате шаблона, объявленного параметром текст (если вместо текстовой строки указан шаблон) (PROP:PAGENO). Допустим только в отчетах.CNT
Устанавливает, что счетчик напечатанных DETAIL-структур будет выведен в формате шаблона, объявленного параметром текст (если вместо текстовой строки указан шаблон) (PROP:CNT). Допустим только в отчетах.SUM
Устанавливает, что "сумма" USE-переменной будет выведен в формате шаблона, объявленного параметром текст (если вместо текстовой строки указан шаблон) (PROP:SUM). Допустим только в отчетах.AVE
Устанавливает, что “среднее значение” USE-переменной будет выведено в формате шаблона, объявленного параметром текст (если вместо текстовой строки указан шаблон) (PROP:AVE). Допустим только в отчетах.MIN
Устанавливает, что минимальное значение USE-переменной будет выведено в формате шаблона, объявленного параметром текст (если вместо текстовой строки указан шаблон) (PROP:MIN). Допустим только в отчетах.MAX
Устанавливает, что максимальное значение USE-переменной будет выведено в формате шаблона, объявленного параметром текст (если вместо текстовой строки указан шаблон) (PROP:MAX). Допустим только в отчетах.RESET
Устанавливает, что значение CNT, SUM, AVE, MIN или MAX будет обнулено по завершению указанного раздела документа (PROP:RESET). Допустим только в отчетах.PAGE
Устанавливает, что значение CNT, SUM, AVE, MIN или MAX будет обнулено при переходе на новую страницу (PROP:PAGE). Допустим только в отчетах.TALLY
Задается при вычислении полей CNT, SUM, AVE, MIN или MAX (PROP:TALLY). Допустим только в отчетах.EXTEND
Указывает, что используется специальная информация форматирования документа. Эта информация включает допустимую строку с атрибутами, которые определяют поведение отчета для данного типа документа. Допустим только в отчетах.Оператор
STRING помещает в окно, панель инструментов или отчет заданный текст. Местоположение и размеры текста задаются атрибутом AT.Если параметр текст представляет собой шаблон форматирования вместо текстовой константы, то по этому шаблону форматируется значение переменной, указанной атрибутом USE. Таким образом поле STRING с атрибутом USE становится выводным полем для переменной. Данные, отображаемые в поле STRING, автоматически обновляются при каждом выполнении цикла ACCEPT, независимо от того, имеется атрибут AUTO или нет.
Между амперсандами, используемыми в поле STRING и в поле PROMPT, существует разница. Амперсанд в поле STRING высвечивается как часть текста, в то время как амперсанд в поле PROMPT определяет горячую клавишу для поля подсказки.
В поле STRING с атрибутом TRN текст высвечивается прозрачно, на предыдущем фоне. Это значит, что на экран выводятся только пиксели, составляющие каждый символ. Это позволяет поместить строку поверх поля IMAGE, не разрушая фоновое изображение.
На это поле не переключается фокус.
Генерируемые события:
EVENT:Drop
Успешная операция “перетащить и отпустить” в данный объект.Пример
:MDIChild WINDOW('Child One'),AT(0,0,320,200),MDI,MAX,HVSCROLL
STRING('String Constant'),AT(10,0,20,20),USE(?S1)
STRING(@S30),AT(10,20,20,20),USE(StringVar1)
STRING(@S30),AT(10,20,20,20),USE(StringVar2),CURSOR(CURSOR:Wait)
STRING(@S30),AT(10,20,20,20),USE(StringVar3),FONT('Arial',12)
END
CustRpt REPORT,AT(1000,1000,6500,9000),THOUS
Break1 BREAK(Pre:Key1)
HEADER,AT(0,0,6500,1000)
STRING('Group Head'),AT(3000,500,1500,500),FONT('Arial',18)
END
Detail DETAIL,AT(0,0,6500,1000)
STRING(@N$11.2),AT(6000,1500,500,500),USE(Pre:F1)
END
FOOTER,AT(0,0,6500,1000)
STRING('Group Total:'),AT(5500,500,1500,500)
STRING(@N$11.2),AT(6000,500,500,500),USE(Pre:F1),SUM,RESET(Pre:Key1)
END
END
END
TAB (объявить лист в структуре SHEET)
TAB(
текст ) [,USE()] [,LAYOUT( )] [,KEY()] [,MSG()] [,HLP()] [,REQ] [DROPID()] [,TIP()][,COLOR()] [,FONT()]
управляющие поля
END
TAB
Объявляет группу управляющих полей, которые составляют один из нескольких листов – “страниц”, содержащихся в структуре SHEET.текст Строковая константа, содержащая выводимый для листа текст (PROP:Text).
USE
Задает метку соответствия, для осуществления ссылок в исполняемых операторах (PROP:USE).LAYOUT
Указывает, что объект будет отображен в направлении слева направо или справа налево (PROP:LAYOUT).KEY
Задает целочисленную константу или мнемоническую метку соответствия клавиши, с помощью которой фокус немедленно переключается на данный лист (PROP:KEY).MSG
Задает строковую константу, содержащую текст, который следует вывести в строке состояния, когда фокус переключен на любое управляющее поле на данном листе (PROP:MSG).HLP
Задает строковую константу, содержащую идентификатор системы справки для любого управляющего поля на данном листе (PROP:HLP).REQ
Задает, что когда выбирается другой лист, библиотека исполняющей системы автоматически проверяет, что все поля типа ENTRY в этой структуре TAB, имеющей атрибут REQ, содержат ненулевые и не пробельные данные (PROP:REQ).DROPID
Указывает, что данное окно может служить областью, в которой происходит вторая часть операции “перетащить и отпустить” - отпускание объекта (PROP:DROPID).TIP
Задает текст, который выводится как “всплывающая” подсказка, когда курсор мыши задерживается на экранном объекте (PROP:ToolTIP).COLOR
Задает цвет фона по умолчанию и цвета переднего плана и фона для активизированного объекта на листе (PROP:COLOR).FONT
Задает фонт, используемый для отображения текста (PROP:FONT). Не влияет на управляющие объекты, размещенные в TAB.управляющие поля Несколько объявлений управляющих полей.
В структуре
TAB объявляется группа полей, которые составляют один из нескольких листов, содержащихся в структуре SHEET (не допустима в отчетах). Несколько объектов TAB в структуре SHEET определяют несколько листов, выводимых на экран. В переменную - атрибут USE структуры SHEET заносится текст выбранной пользователем структуры TAB.Переключение фокуса между листами в структуре SHEET означает, что воздействовать можно только на объекты данного отдельного листа. Это значит, что события, генерируемые при переключении фокуса внутри структуры SHEET относятся к объектам текущего листа, а не к структуре SHEET, в которой они содержатся.
Пример
:MDIChild WINDOW('Child One'),AT(0,0,320,200),MDI,MAX,HVSCROLL
SHEET,AT(0,0,320,175),USE(SelectedTab)
TAB('Tab One'),USE(?TabOne)
OPTION('Option 1'),USE(OptVar1),KEY(F10Key),HLP('Option1Help')
RADIO('Radio 1'),AT(20,0,20,20),USE(?R1)
RADIO('Radio 2'),AT(40,0,20,20),USE(?R2)
END
OPTION('Option 2'),USE(OptVar2),MSG('Option 2')
RADIO('Radio 3'),AT(60,0,20,20),USE(?R3)
RADIO('Radio 4'),AT(80,0,20,20),USE(?R4)
END
PROMPT('Enter Data:'),AT(100,100,20,20),USE(?P1)
ENTRY(@S8),AT(100,140,32,20),USE(E1)
PROMPT('Enter More Data:'),AT(100,200,20,20),USE(?P2)
ENTRY(@S8),AT(100,240,32,20),USE(E2)
END
TAB('Tab Two'),USE(?TabTwo)
OPTION('Option 3'),USE(OptVar3)
RADIO('Radio 1'),AT(20,0,20,20),USE(?R5)
RADIO('Radio 2'),AT(40,0,20,20),USE(?R6)
END
OPTION('Option 4'),USE(OptVar4)
RADIO('Radio 3'),AT(60,0,20,20),USE(?R7)
RADIO('Radio 4'),AT(80,0,20,20),USE(?R8)
END
PROMPT('Enter Data:'),AT(100,100,20,20),USE(?P3)
ENTRY(@S8),AT(100,140,32,20),USE(E3)
PROMPT('Enter More Data:'),AT(100,200,20,20),USE(?P4)
ENTRY(@S8),AT(100,240,32,20),USE(E4)
END
END
BUTTON('Ok'),AT(100,180,20,20),USE(?Ok)
BUTTON('Cancel'),AT(200,180,20,20),USE(?Cancel)
END
Смотри также:
SHEET
TEXT (объявить поле из нескольких строк для ввода данных)
TEXT
,AT( ) [,CURSOR( )][,USE( )][,LAYOUT( )][,DISABLE][,KEY( )][,MSG( )][,HLP( )][,BOXED][,SKIP] [,FONT( )][,REQ] [,FULL] [,SCROLL] [,ALRT( )] [,HIDE] [,READONLY] [,FLAT] [,DROPID( )] [,UPR] [,TRN] [,RTF]
[,TIP( )] [, | HSCROLL | ] [, | LEFT | ][,COLOR( )][,SINGLE][,RESIZE] [,EXTEND( )]
| VSCROLL | | RIGHT |
| HVSCROLL | | CENTER |
TEXT
Помещает в окно, панель инструментов или отчет поле для ввода данных из нескольких строк (PROP:Text).AT
Задает первоначальные размеры и расположение поля (PROP:AT). Если этот атрибут опущен, то значения выбираются библиотечной процедурой.CURSOR
Задает форму, которую должен принимать курсор мыши, при попадании в это поле (PROP:CURSOR). Если этот атрибут опущен, то используется значение атрибута CURSOR структуры WINDOW, если же и тот не указан, то курсор имеет форму, используемую в среде Windows по умолчанию. Не допустим в отчетах.USE
Имя переменной, которая получает значение, введенное пользователем в данное поле (PROP:USE).LAYOUT
Указывает, что объект будет отображен в направлении слева направо или справа налево (PROP:LAYOUT).DISABLE
Указывает, что когда окно WINDOW (или APPLICATION) раскрывается, данное поле выглядит затушеванным (PROP:DISABLE).KEY
Задает целочисленную константу или мнемонический код клавиши (или комбинации клавиш), с помощью которой фокус немедленно переключается на это поле (PROP:KEY). Не допустим в отчетах.MSG
Задает строковую константу, содержащую текст, который следует вывести в строке состояния, когда на данное поле переключен фокус (PROP:MSG). Не допустим в отчетах.HLP
Задает строковую константу, содержащую идентификатор системы справки для данного поля (PROP:HLP). Не допустим в отчетах.BOXED
Указывает, что вокруг поля TEXT будет размещена одинарной толщины рамка, а текст размещается в верхней части рамки (PROP:BOXED). Этот атрибут работает только если поле TEXT “прозрачно” или родительское окно не имеет атрибута GRAY.SKIP
Указывает, что для ввода данных в это поле фокус ввода переключается только посредством мыши или клавиши ускоренного доступа, и не задерживается на этом поле после завершения ввода данных (PROP:SKIP). В отчетах указывает что данный элемент не печатается, если он содержит пробелы, а все остальные элементы смещаются вверх, чтобы не оставлять “пустого” места в бланке.FONT
Задает шрифт для отображения данных в этом поле (PROP:FONT).REQ
Задает, что поле не может оставаться пустым или нулевым (PROP:REQ). Не допустим в отчетах.FULL
Указывает, что по любому из опущенных параметров атрибута AT (ширина или высота) поле расширяется таким образом, чтобы занимать всю протяженность окна (PROP:FULL). Не допустим в отчетах.SCROLL
Указывает, что поле подвергается скроллингу вместе с содержимым окна (PROP:SCROLL). Не допустим в отчетах.ALRT
Задает активные горячие клавиши для данного поля (PROP:ALRT). Не допустим в отчетах.HIDE
Задает, что когда окно WINDOW или APPLICATION раскрывается в первый раз, данное поле не прорисовывается (PROP:HIDE). Для того, чтобы отобразить это поле нужно использовать оператор UNHIDE.READONLY
Указывает, что в поле нельзя ввести данные (PROP:READONLY). Не допустим в отчетах.FLAT
Указывает, что объект не имеет объемной границы вокруг (PROP:FLAT).DROPID
Указывает, что данное управляющее поле может служить областью в которой происходит вторая часть операции “потащить и отпустить” - отпускание объекта (PROP:DROPID). Не допустим в отчетах.UPR
Указывает, что данные вводятся прописными буквами (PROP:UPR).TIP
Задает текст, который выводится как “всплывающая” подсказка, когда курсор мыши задерживается на экранном объекте (PROP:ToolTIP). Не допустим в отчетах.HSCROLL
Указывает, что когда какая-либо часть данных по горизонтали не помещается в этом поле, к нему автоматически присоединяется линейка горизонтального скроллинга (PROP:HSCROLL). Не допустим в отчетах.VSCROLL
Указывает, что когда какая-либо часть данных по вертикали не помещается в этом поле, к нему автоматически присоединяется линейка вертикального скроллинга (PROP:VSCROLL). Не допустим в отчетах.HVSCROLL
Указывает, что когда какая-либо часть данных не помещается в этом поле, к нему автоматически присоединяются линейки вертикального и горизонтального скроллинга. Не допустим в отчетах.LEFT
Задает, что данные в области, заданной атрибутом AT, выравниваются влево (PROP:LEFT).RIGHT
Задает, что данные в области, заданной атрибутом AT, выравниваются право (PROP:RIGHT).CENTER
Задает, что данные в области, заданной атрибутом AT, выравниваются по центру (PROP:CENTER).COLOR
Задает цвет фона объекта (PROP:COLOR).SINGLE
Указывает, что объект служит для ввода только одной строки (PROP:SINGLE). Это сделано специально для того, чтобы использовать поле TEXT вместо ENTRY для ввода данных на иврите и арабских языках. Не допустим в отчетах.RESIZE
Задает изменение высоты поля в соответствии с его реальным содержанием (PROP:RESIZE). Допустим только в отчетах.TRN
Указывает, что текст или значение USE-переменной высвечиваются прозрачно на предыдущем фоне (PROP:TRN).RTF
Указывает, что содержимое текстового поля поддерживает Rich Text Format.EXTEND
Указывает, что используется специальная информация форматирования документа. Эта информация включает допустимую строку с атрибутами, которые определяют поведение отчета для данного типа документа. Допустим только в отчетах.Поле
TEXT помещает в окно или панель инструментов для ввода данных из нескольких строк поле, местоположение и размеры которого заданы атрибутом AT. Когда пользователь завершил ввод данных и перешел к другому полю, введенные данные заносятся в переменную, указанную атрибутом USE. Введенные данные автоматически переносятся так, чтобы не разрывать слово.Возможности поля TEXT зависят от операционной системы.
Объект
TEXT в форматере отчета всегда отображается плоским или двумерным. Оконный объект TEXT отображается трехмерным, если окно имеет атрибут GRAY, и атрибуты TRN и FLAT для объекта не включены. Для отображения границ необходим атрибут BOXED.Генерируемые события:
EVENT:Selected На данное поле переключен фокус ввода.
EVENT:Accepted Пользователь завершил ввод данных в это поле.
EVENT:PreAlertKey Пользователь нажал заданную атрибутом ALRT горячую клавишу.
EVENT:Aler
tKey Пользователь нажал заданную атрибутом ALRT горячую клавишу.EVENT:Drop Кнопка мыши отпущена над объектом - целью операции “потащить и отпустить”
Пример
:MDIChild WINDOW('Child One'),AT(0,0,320,200),MDI,MAX,HVSCROLL
TEXT,AT(0,0,40,40),USE(E1),ALRT(F10Key),CENTER
TEXT,AT(20,0,40,40),USE(E2),KEY(F10Key),HLP('Text4Help')
TEXT,AT(40,0,40,40),USE(E3),SCROLL,OVR,UPR
TEXT,AT(60,0,40,40),USE(E4),CURSOR(CURSOR:Wait),RIGHT
TEXT,AT(80,0,40,40),USE(E5),DISABLE,FONT('Arial',12)
TEXT,AT(100,0,40,40),USE(E6),HVSCROLL,LEFT
TEXT,AT(120,0,40,40),USE(E7),REQ,INS,CAP,MSG('Text Field 7')
END
CustRpt REPORT,AT(1000,1000,6500,9000),THOUS
Detail DETAIL,AT(0,0,6500,1000)
TEXT,AT(0,0,40,40),USE(E1)
TEXT,AT(100,0,40,40),USE(E6),FONT('Arial',12)
TEXT,AT(120,0,40,40),USE(E7),CAP
TEXT,AT(140,0,40,40),USE(E8),UPR
TEXT,AT(160,0,40,40),USE(E9),LEFT
TEXT,AT(180,0,40,40),USE(E10),RIGHT
TEXT,AT(200,0,40,40),USE(E11),CENTER
END
END
Смотри
также: ENTRY, PROP:Line , PROP:LineCount