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

Почему у меня не работают триггеры, если я использую эффекты?


Николай Ряполов

Вопрос

Доброго дня.

Решил попробовать начать работу с фреймами, но столкнулся со следующей ситуацией.

При отображении фрейма на главной форме своевременно не отрисовываются события и перемещения курсора по компонентам фрейма.

Фрейм добавляю с палитры компонентов.

Плолучается примерно следующий вид:

   post-898-0-83056600-1425678384.png

Как избавиться от этого?

Ссылка на комментарий

Рекомендуемые сообщения

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

Добрый день,

 

Было бы не плохо увидеть пример проекта, на котором это воспроизводится. Дополнительно укажите, какой стиль используется.

 

Спасибо

Ссылка на комментарий
  • 0

Прикладываю Демо проект (пустая форма с фреймом) и файл фрейма.

 

Стиль - пустой проект - Multi-Device Application

Стили фрейма - все стандартные, ничего не трогал.

Добавляю фрейм на форму Tool-Palette-Standart-Frames выбираю свой фрейм.

Все в режиме Дизайна.

Баг воспроизвелся отдельно от основного проекта.

Среда XE7 Update1

Win 8.1

post-898-0-60913300-1425926820.png

 

Архив с исходниками demo.zip

Ссылка на комментарий
  • 0
  • Администраторы

На сколько я вижу, проблема не во TFrame, а в используемом эффекте TNormalBlendEffect. Если его отключить, описанной вами проблемы не наблюдается.

Ссылка на комментарий
  • 0
  • Администраторы

Решение следующее. Все эффекты по умолчанию кэшируются. Так как они дорогостоящие. Поэтому в вашем случае не происходит обновления эффекта. 

Решение простое, нужно выполнить ручное обновление эффекта в те моменты времени, когда вам это нужно. В вашем случае я сделал это на OnPaint у вашего фрейма:

procedure TfremAdres.FramePaint(Sender: TObject; Canvas: TCanvas; const ARect: TRectF);
begin
  NormalBlendEffect1.UpdateParentEffects; // Это в случае обновления конкретного эффекта
//  IEffectContainer(vrtScrolBox).NeedUpdateEffects; // Этот код в случае обновлении всех эффектов у родительского контрола
end; 

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

Ссылка на комментарий
Гость
Эта тема закрыта для публикации ответов.
×
×
  • Создать...