Определяет скругление углов элемента управления Shape. Доступно как в design, так и в run time.

Shape.Curvature[ = nCurve]

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

nCurve

Установками для свойства Curvature являются:

Установка Описание

0

Скругления не производится, создаются квадратные углы.

1 through 98

Определяет прогрессивно скругленные углы. Большее число увеличивает скругление.

99

Определяет максимальное скругление и создает круг или эллипс.

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

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

Expand imageПример

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

Создается форма и на нее помещаются радио-кнопки и командная кнопка. Когда вы щелкаете по одной и радио-кнопок, тогда на форме отображается соответствующая фигура. Свойства Height, Width и Curvature определяют тип каждой создаваемой фигуры (круг, эллипс или квадрат). Свойство Curvature устанавливается в 99 для создания круга и эллипса.

  CopyCode imageСкопировать код
frmMyForm = CREATEOBJECT('Form')  && Создается форма
frmMyForm.Closable = .F.  && Блокируется меню контрольного блока формы

frmMyForm.AddObject('cmdCommand1','cmdMyCmndBtn')  && Добавляется командная кнопка 
frmMyForm.AddObject('opgOptionGroup1','opgMyOptGrp') && Добавляется Option Group
frmMyForm.AddObject('shpCircle1','shpMyCircle')  && Добавляется Circle Shape
frmMyForm.AddObject('shpEllipse1','shpMyEllipse')  && Добавляется Ellipse Shape
frmMyForm.AddObject('shpSquare','shpMySquare')  && Добавляется Box Shape

frmMyForm.cmdCommand1.Visible =.T.  && Показывает кнопку "Quit"

frmMyForm.opgOptionGroup1.Buttons(1).Caption = "\<Circle"
frmMyForm.opgOptionGroup1.Buttons(2).Caption = "\<Ellipse"
frmMyForm.opgOptionGroup1.Buttons(3).Caption = "\<Square"
frmMyForm.opgOptionGroup1.SetAll("Width", 100) && Устанавливается ширина Option group
frmMyForm.opgOptionGroup1.Visible = .T.  && Показывает Option Group
frmMyForm.opgOptionGroup1.Click  && Показывает круг

frmMyForm.SHOW  && Отображаем форму
READ EVENTS  && Начинаем обработку событий

DEFINE CLASS opgMyOptGrp AS OptionGroup  && Создаем Option Group
   ButtonCount = 3  && в группе три кнопки
   Top = 10
   Left = 10
   Height = 75
   Width = 100

   PROCEDURE Click 
      ThisForm.shpCircle1.Visible = .F.  && Прячем круг
      ThisForm.shpEllipse1.Visible = .F.  && Прячем эллипс
      ThisForm.shpSquare.Visible = .F.  && Прячем квадрат
      
      DO CASE
         CASE ThisForm.opgOptionGroup1.Value = 1
            ThisForm.shpCircle1.Visible = .T. && Показываем круг
         CASE ThisForm.opgOptionGroup1.Value = 2 
            ThisForm.shpEllipse1.Visible = .T.  && Показываем эллипс
         CASE ThisForm.opgOptionGroup1.Value = 3 
            ThisForm.shpSquare.Visible = .T.  && Показываем квадрат
      ENDCASE
ENDDEFINE

DEFINE CLASS cmdMyCmndBtn AS CommandButton  && Создаем командную кнопку
   Caption = '\<Quit'  && Устанавливает ее заголовок
   Cancel = .T.  && Делаем ее кнопкой выхода по (Esc)
   Left = 125  
   Top = 210  
   Height = 25 

   PROCEDURE Click
      CLEAR EVENTS  && Прекращаем обработку событий, закрываем форму
ENDDEFINE

DEFINE CLASS shpMyCircle AS SHAPE  && Создаем круг
   Top = 10
   Left = 200
   Width = 100
   Height = 100
   Curvature = 99
   BackColor = RGB(255,0,0) 
ENDDEFINE

DEFINE CLASS shpMyEllipse AS SHAPE  && Создаем эллипс
   Top = 35
   Left = 200
   Width = 100
   Height = 50
   Curvature = 99
   BackColor = RGB(0,128,0)  
ENDDEFINE

DEFINE CLASS shpMySquare AS SHAPE  && Создаем квадрат
   Top = 10
   Left = 200
   Width = 100
   Height = 100
   Curvature = 0
   BackColor = RGB(0,0,255) 
ENDDEFINE

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