На форме лежит StyleBook со стилем MyButtonStyle и кнопка которой этот стиль применяется.
Хотелось бы до отображения контролов пробежаться по StyleBook и поменять размеры под текущий экран... но стилей внутри StyleBook нет... до первого обращения к стилю по имени...
procedure TForm1.Button2Click(Sender: TObject);
begin
StyleBook1.GetStyle(nil).FindStyleResource('XXX');//<F0.ChildrenCount - таки после этого один стиль находится и угадайте его имя :)
FormShow(nil);
end;
procedure TForm1.FormShow(Sender: TObject);
var
F0,f1:TFmxObject;
begin
Memo1.Lines.Clear;
Memo1.Lines.Add('Lets go!');
F0:=StyleBook1.GetStyle(nil);
if F0.ChildrenCount=0 then exit;//<F0.ChildrenCount - таки равен нулю
for f1 IN F0.Children do
Memo1.Lines.Add(f1.StyleName);
end;
Это наблюдается под андроид, на винде работает как ожидается
такое впечатление что под андроид экономятся ресурсы и стили парсятся по мере обращения
типа как тут:
но ответ не подходит, т.к. не известно какие контролы будут, и привязывать каждому контролу OnApplyStyleLookup тоже не вариант
даже если ловить OnApplyStyleLookup всеравно StyleBook пустой.... действует только FindStyleResource
procedure TForm1.Button1ApplyStyleLookup(Sender: TObject);
begin
FormShow(nil);
end;
Вопрос
Slym
На форме лежит StyleBook со стилем MyButtonStyle и кнопка которой этот стиль применяется.
Хотелось бы до отображения контролов пробежаться по StyleBook и поменять размеры под текущий экран... но стилей внутри StyleBook нет... до первого обращения к стилю по имени...
procedure TForm1.Button2Click(Sender: TObject); begin StyleBook1.GetStyle(nil).FindStyleResource('XXX');//<F0.ChildrenCount - таки после этого один стиль находится и угадайте его имя :) FormShow(nil); end; procedure TForm1.FormShow(Sender: TObject); var F0,f1:TFmxObject; begin Memo1.Lines.Clear; Memo1.Lines.Add('Lets go!'); F0:=StyleBook1.GetStyle(nil); if F0.ChildrenCount=0 then exit;//<F0.ChildrenCount - таки равен нулю for f1 IN F0.Children do Memo1.Lines.Add(f1.StyleName); end;
Это наблюдается под андроид, на винде работает как ожидается
такое впечатление что под андроид экономятся ресурсы и стили парсятся по мере обращения
типа как тут:
но ответ не подходит, т.к. не известно какие контролы будут, и привязывать каждому контролу OnApplyStyleLookup тоже не вариант
даже если ловить OnApplyStyleLookup всеравно StyleBook пустой.... действует только FindStyleResource
procedure TForm1.Button1ApplyStyleLookup(Sender: TObject); begin FormShow(nil); end;
Ссылка на комментарий
1 ответ на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.