Определяет число градусов для поворота элемента управления в направлении по часовой стрелке. Read/write как в design time, так и в run time.

Control.Rotation [= nValue]

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

nValue

Определяет вращение элемента управления в диапазоне от 0 до 360 градусов. Значением по умолчанию является 0.

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

Применяется к: Label Control (Visual FoxPro) | Line Control | Shape Control

Четкость изборажения текста может варьироваться в зависимости от используемого шрифта и его размера. Например, маленькие размеры шрифтов смотрятся наилучшим образом при угла поворода в 0-, 90-, или 180-градусов.

Для элементов управления Label, применимы следующие функциональные возможности при установке свойства Rotation:

  • Rotation работает только со шрифтами типа TrueType. Определенные установки шрифта, такие как FontStrikethru могут не отображаться под определенными углами.

  • Rotation не поддерживается, когда свойство Style установлено в 3 (Themed) так как текст метки рисуется темой. Для получения более подробной информации смотрите описание свойства Style.

  • При выравнивании текста в метке, свойство Alignment учитывается только когда свойство Rotation установлено в 0. В противном случае метка центруется при вращении. Для получения более подробной информации смотрите описание свойства Alignment.

  • Свойство WordWrap поддерживается также только в случае установки свойства Rotation в 0. Другими словами, если Rotation установлено взначение отличное от 0, не происходит переноса слов, даже если WordWrap установлено в True (.T.). Для получения более подробной информации смотрите описание свойства WordWrap.

  • Свойство AutoSize не изменяет размеры элемента управления, основанные на установке Rotation. Текст всегда центруется в метке. Поэтому, рекомендуется проверить, достаточно ли велика метка, для размещения в любой позиции вращения. Для получения более подробной информации смотрите описание свойства AutoSize.

  • "Горячие" ключи (\<), указанные в свойстве Caption не отображаются, хотя сохраняют свою функциональность при вращении метки. Для получения более подробной информации смотрите описание свойства Caption (Visual FoxPro).

Для элементов управления Shape и Line применимы следующие функциональные возможности при использовании установок свойства Rotation:

  • Rotation применяется когжа полигонные контуры и линии создаются свойством PolyPoints. Для получения более подробной информации смотрите описание свойства PolyPoints.

  • Элемент управления вращается вокруг своей координаты центра.

Expand imageПример

Приведенный ниже пример создает форму и вводит метку и две командных кнопки, основанные на пользовательском классе. Свойство Rotation устанавливается каждый раз, когда вы щелкаете по кнопке "Rotate", в результате чего производится врщение метки.

Приведенные ниже строки кода используют функцию CREATEOBJECT() для создания формы и метод AddObject для ввода в форму элемента управления Label и двух пользовательских командных кнопок. Затем свойство Visible устанавливается в True (.T.) для метки и кнопок с целью их отображения в форме. Для отображения формы используется метод Show, а команда READ EVENTS начинает обработку событий. Команда DEFINE CLASS определяет пользовательские класс Label и класс CommandButton и содержиать установки для соответствующих свойств.

  CopyCode imageСкопировать код
frmMyForm = CREATEOBJECT('Form')
frmMyForm.AddObject('lblLabel1','lblMyLabel')
frmMyForm.AddObject('cmdCmndBtn1','cmdMyCmndBtn1')
frmMyForm.AddObject('cmdCmndBtn2','cmdMyCmndBtn2')
frmMyForm.lblLabel1.Visible = .T.
frmMyForm.cmdCmndBtn1.Visible =.T.
frmMyForm.cmdCmndBtn2.Visible =.T.
frmMyForm.Show
READ EVENTS
DEFINE CLASS lblMyLabel AS Label
   Caption = "MyLabel"
   Left = 150
   Top = 50
   Height = 50
   Width = 50
ENDDEFINE

Приведенное ниже определение класса для командной кнопкит увеличивает значение свойства Rotation в событии Click каждый раз, когда по кнопке производится щелчок мышью. Когда значение свойства Rotation увеличивается, метка поворачивается на указанное число градусов. Когда суммарное число градусов достигнет 360, свойство Rotation сбрасывается в 0, так что метка появляется в ее ориганальной начальной позиции.

  CopyCode imageСкопировать код
DEFINE CLASS cmdMyCmndBtn1 AS CommandButton
   Caption = '\<Rotate'
   Left = 125
   Top = 150
   Height = 25
   PROCEDURE Click
      ThisForm.lblLabel1.Visible = .F.
      ThisForm.lblLabel1.Rotation = ThisForm.lblLabel1.Rotation + 45
      IF ThisForm.lblLabel1.Rotation = 360
         ThisForm.lblLabel1.Rotation = 0
      ENDIF
      ThisForm.lblLabel1.Visible = .T.
ENDDEFINE

Приведенное ниже определение класса для командной кнопки включает в себя команду CLEAR EVENTS в событии Click для остановки обработки событий и закрытия формы.

  CopyCode imageСкопировать код
DEFINE CLASS cmdMyCmndBtn2 AS CommandButton
   Caption = '\<Quit'
   Cancel = .T.
   Left = 125
   Top = 200
   Height = 25
   PROCEDURE Click
      CLEAR EVENTS
ENDDEFINE

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

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

Свойство RotateFlip

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

Свойства (Visual FoxPro)