Перейти к содержанию
Fire Monkey от А до Я

Dimonka

Пользователи
  • Постов

    7
  • Зарегистрирован

  • Посещение

Ответы сообщества

  1. Пост Dimonka - сообщение в Как повернуть контрол на 90 градусов? был отмечен как ответ   
    Не совсем то, что я хотел, но ответ меня натолкнул на правильное решение.
     
    Выглядит это так. Форма (кусок):
    object RectPaper: TRectangle Height = 217.000000000000000000 Position.X = 32.000000000000000000 Position.Y = 24.000000000000000000 Width = 369.000000000000000000 object RectElement: TRectangle Fill.Color = xFFF3B4B4 Height = 57.000000000000000000 Position.X = 16.000000000000000000 Position.Y = 32.000000000000000000 RotationAngle = -20.000000000000000000 Width = 137.000000000000000000 end end Вращение:
    procedure TFormTest.Button1Click(Sender: TObject); var H, W: single; R: TRectF; Center: TPointF; X, Y: Single; begin // поворачиваем холст W := RectPaper.Width; H := RectPaper.Height; RectPaper.Width := H; RectPaper.Height := W; // поворачиваем обьект на холсте RectElement.RotationAngle := RectElement.RotationAngle + 90; R := RectElement.BoundsRect; Center := R.CenterPoint + RectElement.Position.Point; X := Center.X - RectElement.Height * 0.5; Y := Center.Y + RectElement.Width * 0.5; RectElement.Position.Point := PointF(H - Y, X); RectPaper.Repaint; end; В общем спасибо! Вопрос решён.
×
×
  • Создать...