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

Стилизованные модальные формы


AndreyS

Вопрос

Обнаружилась очень неприятная и неожиданная проблема.

Постараюсь кратко описать суть. Есть приложение (пробовал пока только на Windows) для работы с базой данных. Допустим мы создаем новый объект этой базы. Открывается форма этого объекта. При заполнении значений определенного реквизита (допустим это цвет) открывается форма выбора из списка цветов, введенных в эту базу данных. Форма выбора открывается в модальном режиме. В этой форме выбора есть возможность добавить новый или изменить уже существующий цвет. Соответственно поверх модальной формы открывается еще одна модальная форма редактирования цвета. Пока все хорошо. Но при закрытии формы цвета форма выбора заполняется черным цветом (сначала только частично, т. к. перерисовывается не вся форма, а только часть объектов, которые были перекрыты второй модальной формой, но, например, при ресайзе формы выбора чернеет уже вся клиентская часть). Все формы в приложении стилизованные, включая бордюр.

Частично эта проблема решается если у форм устанавливать Fill.Kind в Solid или что-то другое (главное, чтобы не None). Но при этом начинают странным образом пропадать элементы формы (без логики). Пробовал мудрить, типа в OnActivate формы выбора сбрасывать StyleBook формы, далее Application.ProcessMessages, и снова устанавливать в StyleBook новое значение. После пары перемигиваний форма отрисовывается правильно, но при этом появляется другой глюк (при наведении на кнопки в заголовке главной формы, заголовок тоже чернеет). Вот такая дребедень...

 

В общем, как я понимаю, глюк появляется, когда открыто несколько модальных форм.

 

Может кто-то знает какой-нибудь приличный workaround?

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

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

Ответов пока нет

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...