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

Как объединить два StileBook динамически?


Ra72

Вопрос

Уважаемые эксперты!

Часть элементов в моем приложении видоизменяются отдельно от других.

Чтобы избежать комбинаторного взрыва решил сделать две группы StileBook-ов, но вот проблема, как их теперь попарно объединить в приложении?

Пробовал так:

  FBinary: TMemoryStream;
begin
  FBinary := TMemoryStream.Create;
  TStyleStreaming.SaveToStream(StyleBook1.Style, FBinary);
  MainStyleBook.CurrentItem.LoadFromStream(FBinary);

Выдает ошибку "stream read error"...

 

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

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

  • 0

В качестве самой очевидной ошибки:

перед LoadFromStream нужно сделать

FBinary.Seek(0, soBeginning);

или

FBinary.Position:=0;
Изменено пользователем kami
Ссылка на комментарий
  • 0
  • Модераторы

так в любом случае не получится

1) нужно вставить не полностью файл, а только сами объекты

2) переименовать StyleLookup'ы, т.к. один будет одинаковы

3) вы уверены что предусмотрено загрузка двух картинок?

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

Zuby,

1. как вставить объекты?

2. переименовывать не надо, названия разные.

3. не понял...

 

Kami, спасибо.

Изменено пользователем Ra72
Ссылка на комментарий
  • 0

Может я не правильно Вас понял, но думаю, что самый простой способ - это создать один стиль объединив несколько.

Смысл заключается в следующем:

- помещаете в ваш стиль нужные изображения с элементами компонентов

- создаете одинаковые (например) кнопки, только с разным названием стиля. Например одна будет "buttonstyle" и будет использовать Background SourceLookup из одного изображения, а вторая "buttondarkstyle" из другого изображения

- в программе Вам нужно лишь в соответствующий момент менять стиль кнопки

(к "кнопкам" не привязываемся - это я в качестве примера))

 

post-115-0-42758900-1450483446_thumb.jpgpost-115-0-90986500-1450483446_thumb.jpgpost-115-0-35257500-1450483447_thumb.jpgpost-115-0-79648900-1450483447_thumb.jpg

 

P.S. сорри за большие картинки, но так понятнее...

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

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

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

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

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

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

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

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

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

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...