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

Как использовать один экземпляр TStyleBook для нескольких форм?


7profy

Вопрос

Опубликовано

Возможно ли создать один экземпляр TStyleBook и использовать его для всех форм приложения (в т.ч. динамически создаваемых, диалогов и т.д.)

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

  • 0
  • Администраторы
Опубликовано

Можно с использованием дата модуля.

 

Делаем так:

1. Создаем в проекте TDataModule File->New->Other->DelphiFiles->Data Module.

2. Кидаем на дата модуль стиль бук TStyleBook и загружаем туда нужный стиль:

post-1-0-71624400-1391762566.jpg

3. Открываем остальные формы, и в interface секции модуля в uses добавляем наш дата модуль.

4. Указываем в свойстве формы

StyleBook = DataModuleStyle.StyleBook1

Обратите внимание, если вы не подключите в uses дата модуль, то в выпадающем списке не будет варианта указать стильбук с дата модуля.

post-1-0-01254200-1391762567.jpg

5. Меняем порядок создания форм. Дата модуль со стилем обязательно должен создаваться раньше мест использования.

post-1-0-31563600-1391762567_thumb.jpg

 

P.S. В дизайнере стилей в дата модуле не доступны контролы FireMonkey, поэтому для создания стиля используйте дизайнер стилей на обычной форме, затем сохраните ваш стиль в файл и загрузите его в стиль бук в дата модуле.

  • 0
Опубликовано

Спасибо. Работает.

Есть только один нюанс. При размещении на датамодуле в TStyleBook невозможно добавлять графические элементы, т.к. ToolPalette работает в режиме для DataModule, т.е. без графических элементов.

  • 0
  • Администраторы
Опубликовано

Есть такое дело.

 

Поэтому как временное решение:

  1. Используете дизайнер стилей на обычной форме
  2. Потом сохраняете готовый стиль в файл
  3. Загружается стиль из файла в TStyleBook в дата модуле.
Гость
Эта тема закрыта для публикации ответов.
×
×
  • Создать...