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

Почему при старте программы FindStyleResource не может ничего найти?


estra

Вопрос

Почему метод FindStyleResource  в OnCreate и OnShow формы возвращает nil, а после запуска программы (в Button1.OnClick) возвращает указатель на объект? Как получить доступ к объекту стиля в момент запуска программы?

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

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

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

Ответ прост.

 

Потому что в событии OnCreate и OnShow еще не загружен стиль. Поэтому FindStyleResource ничего вам не найдет. Стиль загружается обычно в момент первой прорисовки.

 

Два решения:

  • Принудительно загрузить стиль для требуемого компонента

    Button1.NeedStyleLookup;
    Button1.ApplyStyleLookup;
    
  • Выполнять код по поиску элементов стиля в специально отведенном событии TStyledControl.OnApplyStyleLookup.
Ссылка на комментарий
Гость
Эта тема закрыта для публикации ответов.
×
×
  • Создать...