Определяет массив координат для создания многоугольных (полигонов) контуров (shapes) с помощью управляющего элемента Shape и линий многоугольника с помощью управляющего элемента Line. Редактируемое как в design, так и в run time.

Для управляющих элементов Shape свойство PolyPoints описывает многоугольный контур. Для управляющих элементов Line свойство PolyPoints создает линии многоугольника или контур.

Control.
PolyPoints [= cArrayName]

Expand image Возвращаемое значение

cArrayName

Указывает имя массива, содержащего пары координат, для рисования многоугольного контура или линии. Координаты используют формат (X, Y). Массив должен быть в области видимости для того, чтобы объект отобразил многоугольник или искривленную линию должным образом.

ЗамечаниеСовет

Массив может иметь любой размер; однако, если он будет содержать две колонки, это упростит вашу задачу программирования многоугольного контура или линии. Храните точку X-координаты в первой колонке и Y-координату во второй. Массив должен быть заполнен полностью численными значениями; в противном случае, хвостовые элементы будут заполнены False (.F.), что приведет к тому, что контур или линия не будут прорисованы.

ЗамечаниеЗамечание

Свойство PolyPoints требует по меньшей мере две пары координат для рисования линии, три пары координат для рисования многоугольной линии, три пары координат для рисования многоугольного контура для управляющего элемента Shape, и четыре пары кординат для линий, создающих контур.

Для создания многоугольного контура с помощью управлющего элемента Line, пятая пара координат массива должны иметь теже самые координаты, что и первая пара для прорисовки последнего сегмента линии и завершения, таким образом контура многоугольника.

При установке значения свойства LineSlant для рисования кривых Безье, вы должны указать в сумме (3n + 1) координат, где n представляет число кривых, которые вы желаете нарисовать. Для получения более подробной информации, смотрите Свойство LineSlant.

Expand imageПримечания

Применяется к: Line | Shape

Visual FoxPro рисует полигоны в порядке, в котором координаты появились в массиве, что воздействует на закраску областей, ассоциированных с полигонами. Вы можете рисовать контуры с полигонами, без касания границ полигона с помощью указания точек внутри границ. Для получения более подробной информации о закраске областей и стилях, смотрите Свойство FillStyle и Свойство FillColor.

Координаты, указанные в массиве являются are relative percentages to the dimensions of the Shape (or Line) control so that the polygon will resize as the shape is resized.

Обновление массива автоматически обновит управляющие элементы Shape или Line, когда они будут прорисовываться повторно.

Если массив содержит нечетное число элементов, последний элемент сбрасывается.

Если свойство PolyPoints установлено, Visual FoxPro сбрасывает значение свойства Style, когда оно установлено в 3 (Themed), свойства Curvature и трех-мерную установку свойства SpecialEffect.

Visual FoxPro автоматически перерисовывает контур, когда изменяется свойство Rotation, когда вращает контур. Для получения более подробной информации, смотрите Свойство Rotation.

Массив должен быть в области видимости, чтобы объект смог отобразить полигон или многоугольную линию. Если вы желаете отобразать полигон в design-time, тогда свойство PolyPoints должно указывать на массив в области видимости public. Для получения более подробной информации об областях видимости, смотрите Доступ к переменным.

Expand image Пример

Приведенный ниже пример отображает форму с полигональной линией, нарисованной с помощью управляющих элементов Line, на основе массива координат, указанного в свойстве PolyPoints.

  CopyCode image Скопировать код
DIMENSION poly[5,2]
poly[1,1]= 0
poly[1,2]= 50
poly[2,1]= 50
poly[2,2]= 100
poly[3,1]= 100
poly[3,2]= 50
poly[4,1]= 50
poly[4,2]= 0
poly[5,1]=0
poly[5,2]=50
frmMyForm = CREATEOBJECT('Form')  
frmMyForm.AddObject('shpLine','Line')  
frmMyForm.AddObject('cmdCmndBtn1','cmdMyCmndBtn1')  
frmMyForm.shpLine.Top = 20  
frmMyForm.shpLine.Left = 125 
frmMyForm.shpLine.PolyPoints = "poly"
frmMyForm.shpLine.Visible = .T.  
frmMyForm.cmdCmndBtn1.Visible =.T.  
frmMyForm.Show
READ EVENTS  
DEFINE CLASS cmdMyCmndBtn1 AS CommandButton  
   Caption = '\<Quit'  
   Cancel = .T.  
   Left = 125  
   Top = 150  
   Height = 25  
   PROCEDURE Click
      CLEAR EVENTS  
ENDDEFINE

Expand image Смотрите также

Справочное руководство

Свойство LineSlant

Прочие ресурсы

Подгонка форм
Свойства (Visual FoxPro)