m.medvedb

Пользователи
  • Публикаций

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

  • Посещение

Информация о m.medvedb

  • Звание
    Пользователь

Посетители профиля

363 просмотра профиля
  1. Спасибо! Буду внимательней!
  2. Как программно изменить размер шрифта TCornerButton? Пробовал так но почему-то не работает... Font.size:=MyValue
  3. Благодарю за развернутый ответ! Все разобрался. Отличная функция!
  4. Как сделать компонент с нуля нет проблем...... Вопрос, как сделать копию компонента и его обработчиков? Точнее FMX позволяет сделать составной компонент..... как клонировать родителя и все связанные с ним компоненты.
  5. Ну прям нет слов. Спасибо огромное за ваш труд! Все работает как часики!
  6. У меня есть еще к вам вопрос: Есть форма на ней множества TCornerButton, используются как красивые дисплеи для отображения данных. Вопрос как при передвижение компонентов запретить заход одного за другой? Их около 30ти в каждом проверять каждый не вариант. Движение компонентов произвожу по вашему примеру: Как сделать перемещение контрола мышкой/пальцем? Еще добавил в код на событие OnMouseMove проверку от захода компонента за форму. If DraggableImage.Position.X < 0 Then DraggableImage.Position.X := 0 Else If (DraggableImage.Position.X + DraggableImage.Width) > Form4.ClientWidth Then DraggableImage.Position.x := Form4.ClientWidth - DraggableImage.Width; If DraggableImage.Position.y < 0 Then DraggableImage.Position.y :=0; If (DraggableImage.Position.y + DraggableImage.Height) > Form4.ClientHeight Then DraggableImage.Position.y := Form4.ClientHeight - DraggableImage.Height;
  7. Да и вот весь код! procedure TForm4.DraggableImageMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Single); var MoveVector: TVector; begin if FPressed then begin // Вычисляем локальное смещение относительно первоначальной позиции MoveVector := TVector.Create(X - FStartPos.X, Y - FStartPos.Y,0); // Вычисляем смещение в координатах формы, чтобы учесть изменение // координат при смещении родительских контролов MoveVector := DraggableImage.LocalToAbsoluteVector(MoveVector); if DraggableImage.ParentControl <> nil then MoveVector := DraggableImage.ParentControl.AbsoluteToLocalVector(MoveVector); // Перемещаем картинку на вычисленный вектор DraggableImage.Position.Point := DraggableImage.Position.Point + MoveVector.ToPointF; end; end;
  8. если добавить ось Z:=0 Обработчик грешит вот на эту строку DraggableImage.Position.Point := DraggableImage.Position.Point + TPointF(MoveVector); [dcc32 Hint] First.pas(42): H2219 Private symbol 'MouseDownPoint' declared but never used [dcc32 Hint] First.pas(44): H2219 Private symbol 'Moving2' declared but never used [dcc32 Hint] First.pas(46): H2219 Private symbol 'Splitting' declared but never used Если изменить код по вашему совету....то ругается на ту-же строку и в обработчике та-же ошибка
  9. Отличный пример! Вопрос у меня XE5 и он требует ввести координату Z в функции MoveVector := TVector.Create(X - FStartPos.X, Y - FStartPos.Y);