Hallo zusammen,
ich habe mit den neuen Optionen XE8 ImageList herumgespielt, und die (Speed)Buttons
haben ja jetzt Images und ImageIndex (Gott sei dank).
Allerdings keine Möglichkeit des Einstellens (leider nicht so schön separat anspechbar wie im ListView).
Deshalb wollte ich einmal den Glyph anpacken und ändern, wie üblich mache ich sowas einmalig in FormCreate.
Code:
procedure TForm1.TryToAccessImage(fromHere: String);
var
btnGlyph: TGlyph;
fmxGlyph: TFmxObject;
begin
fmxGlyph := Button1.FindStyleResource('glyphstyle');
if Assigned(fmxGlyph) then
begin
Memo1.Lines.Add('Try Button in ' + fromHere + ' = OK');
btnGlyph := TGlyph(fmxGlyph);
btnGlyph.BeginUpdate;
try
btnGlyph.Align := TAlignLayout.Client; // FGlyphSize := TSizeF.Create(FGlyph.Width, FGlyph.Height);
finally
btnGlyph.EndUpdate;
end;
end
else
Memo1.Lines.Add('Try Button in ' + fromHere + ' = failed');
Musste allerdings feststellen, das der Glyph noch gar nicht existiert, und wie in meinem Testprogramm
erst in der LookupStyle eines jeden Buttons auftaucht.
Das ist aber sehr unschön, weil dann jedesmal die OnApplyStyle der Buttons aufgerufen werden muss.
Vielleicht hat jemand eine Idee wie ich die Glyphs schon früher erzeugt bekomme.
DoApplyStyles hilft leider anscheinend auch nicht weiter.
Vermutlich werden die Glyphs wirklich erzeugt wenn sie gebraucht werden, also kurz vor dem Rendern.
Sehr schön effektiv, hilft mir aber leider nicht weiter.
Anbei noch ein paar Bilder von allen Platformen, so wie es Orginal ist, und
mit dem grossen Icon, so wie ich gerne hätte.
Rollo