к оглавлению

Управляющие объекты Clarion

Объявления объектов

BOX (объявить прямоугольную область)

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 (объявить кнопку)

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 (объявить кнопку с независимой фиксацией)

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' ! Присвоение атрибуту FROM

ACCEPT

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 (объявить экранный объект эллиптической формы)

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,FILL(COLOR:MENU),FULL

! Незакрашенный, с черным контуром:

ELLIPSE,AT(0,0,20,20)

! Затушеванный:

ELLIPSE,AT(0,20,20,20),USE(?Box1),DISABLE

! Незакрашенный, закругленный, с черным контуром:

ELLIPSE,AT(20,20,20,20),ROUND

! Закрашенный, с черным контуром:

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

END

CustRpt REPORT,AT(1000,1000,6500,9000),THOUS

CustDetail DETAIL,AT(0,0,6500,1000)

! Незакрашенный, с черным контуром:

ELLIPSE,AT(0,0,20,20)

! Незакрашенный, с черным контуром, затушеванный:

ELLIPSE,AT(0,20,20,20),USE(?Ellipse1),DISABLE

! Незакрашенный, закругленный, с черным контуром:

ELLIPSE,AT(20,20,20,20),ROUND

! Закрашенный, с черным контуром:

ELLIPSE,AT(40,40,20,20),FILL(COLOR:ACTIVEBORDER)

! Незакрашенный, с контуром текущего цвета рамки

ELLIPSE,AT(60,60,20,20),COLOR(COLOR:ACTIVEBORDER)

END

END

 

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)

END

Смотри также: TEXT, PROMPT

 

GROUP (объявить группу экранных объектов)

GROUP(текст) ,AT() [,CURSOR()][,USE()] [,LAYOUT( )] [,DISABLE][,KEY()][,MSG()][,HLP()][,FONT()][,TIP()]

[,BOXED][,FULL][,SCROLL][,HIDE][,ALRT()][,SKIP][,DROPID()][,COLOR()][,BEVEL()]

объекты

END

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)

END

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)

END

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)

END

END

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)

END

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)

END

END

END

Смотри также: PANEL

 

IMAGE (объявить экранное поле, содержащее изображение)

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

END

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)

END

END

Смотри также: PALETTE

 

ITEM (объявить пункт меню)

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 Указывает величину смещения от левого края в условных единицах в структуре меню.

SEPARATOR Указывает, что данный пункт во время выполнения программы представляет собой горизонтальную сплошную линию поперек окна меню, служащую разделителем групп пунктов меню. Здесь может указываться также атрибут USE.

ICON Указывает файл с изображением или стандартную пиктограмму, отображаемые в пункте меню (PROP:ICON).

FONT Указывает шрифт отображаемого объекта (PROP:FONT).

FIRST Задает, что при слиянии меню данный пункт выводится сверху (PROP:First).

LAST Задает, что при слиянии меню данный пункт выводится снизу (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 (экранный объект - прямая линия)

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 (объявить окно списка)

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:Selected На объект переключен фокус ввода.

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 (объявить окно меню)

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 (объявить объект, содержащий объект 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 объекта OCX

OF ?Property

?oc1{PROP:DoVerb} = -7 ! Вывести диалоговое окно свойств объекта OCX

END

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 (объявить поле - подсказку)

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) ! Подсказка будет относиться к полю E3

ELSE

HIDE(?E3) ! Подсказка будет относиться к полю E2

END

Смотри также: 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 (объявить объект - область в окне)

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 (объявить вращающийся список)

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:AlertKey Пользователь нажал заданную атрибутом 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

к оглавлению

Знаете ли Вы, что Polymorphism, полиморфизм в объектно-ориентированном программировании - это способность объекта выбирать правильный метод в зависимости от типа данных, полученных в сообщении.

НОВОСТИ ФОРУМА

Форум Рыцари теории эфира


Рыцари теории эфира
 10.11.2021 - 12:37: ПЕРСОНАЛИИ - Personalias -> WHO IS WHO - КТО ЕСТЬ КТО - Карим_Хайдаров.
10.11.2021 - 12:36: СОВЕСТЬ - Conscience -> РАСЧЕЛОВЕЧИВАНИЕ ЧЕЛОВЕКА. КОМУ ЭТО НАДО? - Карим_Хайдаров.
10.11.2021 - 12:36: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от д.м.н. Александра Алексеевича Редько - Карим_Хайдаров.
10.11.2021 - 12:35: ЭКОЛОГИЯ - Ecology -> Биологическая безопасность населения - Карим_Хайдаров.
10.11.2021 - 12:34: ВОЙНА, ПОЛИТИКА И НАУКА - War, Politics and Science -> Проблема государственного терроризма - Карим_Хайдаров.
10.11.2021 - 12:34: ВОЙНА, ПОЛИТИКА И НАУКА - War, Politics and Science -> ПРАВОСУДИЯ.НЕТ - Карим_Хайдаров.
10.11.2021 - 12:34: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Вадима Глогера, США - Карим_Хайдаров.
10.11.2021 - 09:18: НОВЫЕ ТЕХНОЛОГИИ - New Technologies -> Волновая генетика Петра Гаряева, 5G-контроль и управление - Карим_Хайдаров.
10.11.2021 - 09:18: ЭКОЛОГИЯ - Ecology -> ЭКОЛОГИЯ ДЛЯ ВСЕХ - Карим_Хайдаров.
10.11.2021 - 09:16: ЭКОЛОГИЯ - Ecology -> ПРОБЛЕМЫ МЕДИЦИНЫ - Карим_Хайдаров.
10.11.2021 - 09:15: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Екатерины Коваленко - Карим_Хайдаров.
10.11.2021 - 09:13: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Вильгельма Варкентина - Карим_Хайдаров.
Bourabai Research - Технологии XXI века Bourabai Research Institution