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

Как получить объект стиля?


Nix0N

Вопрос

Для примера:

 

Есть объект ListBoxItem. В StyleBook загружен стиль по умолчанию. Для итема лист бокса задан стандартный стиль:

ListBoxItem.Stylename = "listboxitemlabel"

Если заглянуть в StyleBook, то мы увидим что "listboxitemlabel" это TLayout.

  • Каким образом можно изменить/получить свойства этого объекта, к примеру текущую его высоту для нашего ListBoxItem?
Изменено пользователем Brovin Yaroslav
Ссылка на комментарий

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

  • 0
  • Модераторы

Вроде как можно искать объект стиля, например иконку в ListBoxItem:

var
  StyleObject: TFmxObject;
  StyleIcon: TControl;
begin
  // Ищем объект стиля - картинка. Лучше закешировать один раз, избежав постоянный поиск картинки 
  StyleObject := Item.FindStyleResource('icon');
  if (StyleObject <> nil) and (StyleObject is TControl) then
  begin
    StyleIcon := TControl(StyleObject);
    // и дальше работаем как с обычным контролом
  end;
end;

попробуйте, может поможет.

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

Еще можно через StylesData. Но в этом случае вначале идет название (StyleName) внутреннего объекта стиля, а потом через точку название свойства. 

Вы пытались задать, но не правильно указали название элемента. Если итем лист бокса принимает стиль "listboxitemlabel", то чтобы добраться например до внутреннего объекта icon. Нужно написать так:

ListBoxItem.StylesData['icon.width'].asInteger 
Ссылка на комментарий
Гость
Эта тема закрыта для публикации ответов.
×
×
  • Создать...