Команда @ ... TO

Рисует прямоугольник, окружность или эллипс. Включена для совместимости с предыдущими версиями. Для приложений Visual FoxPro следует пользоваться элементом управления Shape.

Синтаксис

@ nRow1, nColumn1 TO nRow2, nColumn2
	[DOUBLE | PANEL | cBorder]
	[PATTERN nFillPattern]
	[PEN nPenWidth [, nPenType]]
	[STYLE cShape]
	[COLOR SCHEME nSchemeNumber
	| COLOR ColorPairList]

Параметры
@ nRow1, nColumn1
Задает координаты левого верхнего угла прямоугольника.
TO nRow2, nColumn2
Задает координаты правого нижнего угла прямоугольника.
Если значения nRow1 и nRow2 совпадают, рисуется горизонтальная линия. Если совпадают nColumn1 и nColumn2, рисуется вертикальная линия.
DOUBLE | PANEL | cBorder
Опция DOUBLE задает для прямоугольника обрамление в виде двойной линии.
Опция PANEL задает для прямоугольника обрамление в виде сплошной линии.
Аргумент cBorder представляет собой группу символов, которые задают отдельные фрагменты прямоугольника в следующем порядке: верхняя сторона, нижняя, левая, правая, левый верхний угол, правый верхний, левый нижний, правый нижний.
В Visual FoxPro, FoxPro для Windows и FoxPro для Macintosh для правильного отображения обрамления нужно использовать шрифт FoxFont.
Символы строки обрамления должны иметь один из приведенных ниже форматов и отделяться друг от друга запятыми.
Литералы, обозначенные ограничителями строк (одиночными или двойными кавычками, или квадратными скобками).

@ 1,10 TO 22,45 '=', '=', '|', '|', '+', '+', '+', '+'

Символьные выражения или переменные, разделенные запятыми.

STORE '=' TO gcEnd
STORE '|' TO gcSide
STORE '+' TO gcCorner
@ 1,10 TO 22,45 ;
    gcEnd,gcEnd,gcSide,gcSide,gcCorner,gcCorner,gcCorner,gcCorner

Коды ASCII для символов, задаваемые в функциях CHR( ).

STORE CHR(61) TO gcEnd
STORE CHR(124) TO gcSide
STORE CHR(43) TO gcCorner
@ 1,10 TO 22,45 ;
    gcEnd,gcEnd,gcSide,gcSide,gcCorner,gcCorner,gcCorner,gcCorner
 - Или -
@ 1,10 TO 22,45 CHR(61),CHR(61),CHR(124),CHR(124);
    CHR(43),CHR(43),CHR(43),CHR(43)

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

STORE '*' TO gcBoxChar
@ 1,10 TO 22,45 gcBoxChar

Замечание Если установка SET BORDER имеет значение NONE и вы не задали опции DOUBLE, PANEL или строку обрамления, прямоугольник будет нарисован без обрамления.
PATTERN nFillPattern
Допустимо только в Visual FoxPro, FoxPro для Windows и FoxPro для Macintosh.
Задает узор, которым закрашивается данная фигура. В качестве nFillPattern можно указать любое число от 0 до 7.
Замечание Узор будет нарисован цветом фона, поэтому необходимо в предложении COLOR задать другой цвет фона, чтобы узор стал видимым.

nFillPattern	Узор
0		None (Отсутствует)
1		Solid (Сплошное закрашивание)
2		Horizontal lines (Горизонтальные линии)
3		Vertical lines (Вертикальные линии)
4		Backward diagonals (Обратные диагонали)
5		Forward diagonals (Прямые диагонали)
6		Crosshatch (Прямая штриховка)
7		Slanted crosshatch (Косая штриховка)

В FoxPro для MS-DOS предложение PATTERN игнорируется.
PEN nPenWidth [, nPenType]
Допустимо только в Visual FoxPro, FoxPro для Windows и FoxPro для Macintosh.
Задает ширину и узор для линии контура данной фигуры. nPenWidth задает ширину линии контура, а nPenType тип линии. Заметьте, что если вы задаете тип линии с помощью аргумента nPenType, то всегда используется линия шириной в 1 пункт.
В следующей таблице перечислены значения аргумента nPenWidth и соответствующие значения ширины линии в пунктах.

nPenWidth		Ширина линии
0		Линия, толщиной в волос*
1		1 пункт*
2		2 пункта
3		3 пункта
4		4 пункта
5		5 пунктов
6		6 пунктов

Линии, толщиной в волос или в 1 пункт, изображаются некоторыми драйверами дисплеев на некоторых видах оборудования как линии шириной в 1 пункт.
В следующей таблице перечислены значения аргумента nPenType и соответствующие узоры, которые определяют тип линии.

nPenType		Тип линии
0		None (Отсутствует)
1		Dotted (Пунктир из точек)
2		Dashed (Пунктир из тире)
3		Dash-dot (Тире-точка)
4		Dash-dot-dot (Тире-точка-точка)
100		3-D box (Трехмерный; только для FoxPro для Macintosh)

В FoxPro для Macintosh поддерживаются только сплошные и пунктирные типы линии. Пунктирным линиям соответствуют типы линии 1, 2, 3 и 4. Если задать тип 100, все остальные предложения (PATTERN, STYLE, COLOR и т.д.) будут игнорироваться.
В FoxPro для MS-DOS предложение PEN игнорируется.
STYLE cShape
Допустимо только в Visual FoxPro, FoxPro для Windows и FoxPro для Macintosh.
Задает тип созданной фигуры (прямоугольник, рамка со скругленными углами, окружность или эллипс). Фигуры, создаваемые с помощью команды @ ... TO, по умолчанию являются непрозрачными. Чтобы создать прозрачную фигуру, включите T в аргумент cShape.
Число в диапазоне от 0 до 99 в качестве cShape задает кривизну углов фигуры: значение 0 создает прямые углы, а 99 (максимальная кривизна) окружности и эллипсы.
В FoxPro для MS-DOS предложение STYLE игнорируется.
COLOR SCHEME nSchemeNumber
Задает цвета прямоугольника, рамки со скругленными углами, окружности или эллипса. Цвет фигуры определяет только первая цветовая пара заданной цветовой схемы. Первый цвет цветовой пары это цвет линии, а второй цвет ѕ цвет фона (цвет закрашивания).
COLOR ColorPairList
Задает цвета прямоугольника, рамки со скругленными углами, окружности или эллипса. Цвет фигуры определяет только первая цветовая пара заданного списка цветовых пар. Первый цвет цветовой пары это цвет линии, а второй цвет цвет фона (цвет закрашивания). Например, чтобы построить эллипс, имеющий сплошной красный фон и синий контур, задайте следующее:

@ 2,2 TO 12,22 STYLE '99' ;
    PATTERN 1 PEN 2 COLOR 'B/R'

Если предложения COLOR SCHEME и COLOR опущены, область очищается. То же самое можно сделать с помощью команды @ ... CLEAR.
Подробнее о цветовых схемах и цветовых парах см. Использование цветов.

Комментарии
В Visual FoxPro элемент управления Shape (прямоугольник, окружность или эллипс) следует создавать с помощью конструктора форм или DEFINE CLASS. Подробнее о совместимости элементов управления предыдущих версий FoxPro 2.x см. Элементы управления и объекты.
Подробнее о добавлении элементов управления к форме см. главу 9 "Создание форм" Руководства разработчика и Добавление объекта в контейнерный класс.
Если опустить все необязательные предложения, будет нарисован прямоугольник с обрамлением из одиночной линии, в котором использованы текущие цвета.
В Visual FoxPro, FoxPro для Windows и FoxPro для Macintosh можно рисовать различные фигуры (прямоугольники, рамки со скругленными углами, окружности и эллипсы), задавая предложения PATTERN, PEN и STYLE. Эти предложения являются необязательными и могут быть включены в любом сочетании. Если вместе с предложением PATTERN, PEN или STYLE задано предложение DOUBLE или PANEL, это предложение (DOUBLE или PANEL) игнорируется.
Важное замечание Если в Visual FoxPro, FoxPro для Windows и FoxPro для Macintosh текущим шрифтом является FoxFont и предложения PATTERN, PEN и STYLE не заданы, прямоугольники рисуются с помощью символов, предусмотренных для этих целей в FoxFont. Тем самым обеспечивается совместимость с ранними версиями FoxPro.
Если шрифт FoxFont не является текущим или если он текущий и задано предложение PATTERN, PEN или STYLE, то прямоугольники рисуются средствами графики. Прямоугольник, нарисованный с помощью символов шрифта FoxFont, и такой же прямоугольник, нарисованный средствами графики, немного отличаются друг от друга по местоположению.


Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем.