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

Лидеры

  1. AngryOwl

    AngryOwl

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


    • Баллы

      3

    • Постов

      394


  2. Brovin Yaroslav

    Brovin Yaroslav

    Администраторы


    • Баллы

      2

    • Постов

      2 124


  3. Andrey Efimov

    Andrey Efimov

    Модераторы


    • Баллы

      2

    • Постов

      842


Популярный контент

Показан контент с высокой репутацией 07.09.2014 во всех областях

  1. В FMX работа с канвой принципиально отличается от работы в VCL. В VCL канва была у каждого оконного контрола своя. В FMX одна канва на все контролы в одной форме. Несколько важных фактов, которые помогут вам: Канва одна на всю форму и на все контролы формы. Из пункта 1 следует - Значит каждый контрол рисует себя на одной общей канве При передачи управления на отрисовку контролу, канве задаются настройки (матрица трансформации, кисти и тд) таким образом, чтобы отрисовка выполнялась в локальных координатах контрола. Значит если вы рисуете в другом месте, то отрисовка выполняется в глобальных координатах формы. По этому отрисовку нужно выполнять в абсолютных координатах (координатах формы) Прямую отрисовку на форме нельзя выполнять по нажатию на кнопку. Так как в FMX есть четкая последовательность фаз отрисовки. Места отведенные для рисования - это событие OnPaint. В противном случае, не гарантируется корректная отрисовка на всех платформах.
    1 балл
  2. Я в процессе создания версии для XE7... Постараюсь на следующей неделе доделать.
    1 балл
  3. На ваш вопрос, уже есть ответ Как использовать один экземпляр TStyleBook для нескольких форм?
    1 балл
  4. Andrey Yefimov написал Вам правильное решение. У любого объекта-анимации есть событие OnFinish. Вам нажно назначить (либо переопределить) обработчик этого события. Т.е. решение, примерно, такое: нажимая на кнопку, запускаете анимацию (и не нужно ничего больше выполнять, так как нужно дождаться когда анимация закончится) когда анимация закончится (возникнет событие OnFinish), выполните необходимые действия (вызовите в обработчике данного события процедуры/функции) и никаких ModalResult в данном случае не нужно... P.S. И еще. Если нужно, чтобы при нажатии на кнопку сначала что-то отработало в GUI (какой-то код, например, та же анимация), а лишь потом выполнить что-то далее (в том же обработчике нажатия на кнопку), то Вам требуется синхронизация в основном потоке.
    1 балл
  5. Проверить на XE5 уже нет возможности. Но на XE6-XE7 все работает. Однозначно.
    1 балл
  6. У анимации есть событие OnFinish, вам необходимо переопределить его на свой обработчик(код). Код будет выполняться только после завершения работы анимации.
    1 балл
  7. Добрый! Без проблем! Если форма будет иметь следующие свойства (пишу только измененные по умолчанию): Border.Styling = False BorderStyle = None то форма может иметь любые размеры и перемещать Вы ее можете как угодно - она не будет "прилипать". Жесты обрабатываются нормально, но для этого нужно: расположить на форме любой "контейнер" (TPanel например), задать ему свойство Align = Contents, Установите HitTest = True. Все элементы расположите на "контейнере". В нашем приложении Sphere Live при отключенных рамках (в настройках можно включить/отключить стандартные рамки окна) мы так и делаем. (кстати в нашем приложении работает именно тот пример, который Вы и описали, в случае полноэкранного) P.S. Вам ведь не нужны рамки формы? Т.к. Вы хотите размеры формы больше размеров экрана... При том, что это не ограничивает Вас в функциях изменения размеров и перемещения формы (размеры менять TSizeGrip, а перемещать за любой компонент на форме, если у него стоит свойство HitTest = True, а в обработчике OnMouseDown просписано StartWindowDrag;)
    1 балл
Эта таблица лидеров рассчитана в Москва/GMT+03:00
×
×
  • Создать...