Ich habe mal auf´s Geradewohl ein bischen herum gespielt:
Delphi-Quellcode:
procedure TFormAbfall.Button1Click(Sender: TObject);
var
O: TFmxObject;
Ol: TFmxObject;
Ob: TFmxObject;
begin
O := FMX.Types.FindStyleResource('checkboxstyle');
if not Assigned(O) then
Exit;
for Ol in O.Children do
begin
if Ol.ClassName = 'TLayout' then // if Ol.StyleName = 'layout' then ??
begin
for Ob in Ol.Children do
begin
if Ob.StyleName = 'background' then
begin
if Ob is TSubImage then
begin
(Ob as TSubImage).Source.Bitmap.LoadFromFile(ExtractFilePath(ParamStr(0)) + 'as.bmp');
Exit;
end;
end;
end;
end;
end;
end;
Naiver weise dachte ich, so ein Hintergrundbild für meine Checkbox zuzuweisen.
Statt dessen wird das ganze Formular verändert (das Bild als Hintergrund für das Formular verwendet (incl. NoneClient) und alles übrige recht verfälscht).
Vielleicht bringt Dich aber ja davon etwas auf die zündende Idee...
Danke für Dein Beispiel. Ich habe es sogar noch ein wenig verkürzt :
Delphi-Quellcode:
procedure SetTabItemIcon(TabItemControl: TTabItem; Bitmap: string);
var
T: TFmxObject;
begin
if TabItemControl = nil then Exit;
T := TabItemControl.FindStyleResource('tabicnfile');
if (T <> nil) and (T is TImage) then
begin
TImage(T).Bitmap.LoadFromFile(Bitmap);
end;
TabItemControl.Repaint;
end;
Das funktioniert jetzt. Jetzt brauche ich nur noc, dass ich unter Windows die Bitmaps aus Resourcen laden kann.
EDIT: "ich habe mir ein paar eigene Styles erstellt, die wunderbar funktionieren" ... sehen wolln
Sind noch nicht ganz fertig. Bis jetzt habe ich beim Treeview nur ein Icon eingesetzt und beim TabItem ein Icon eingesetzt.