Hallo zusammen,
in meiner Anwendung wird während eines Ablaufs in einem BitButton das Glyph geändert. Bisher war das so gelöst, dass dazu lauter TImages auf der Oberfläche lagen. Ich wollte die jetzt in einer ImageList sammeln und zuweisen. Das funktioniertz aber nur über Umwege:
Delphi-Quellcode:
sButton := format('btAbs%d', [i]);
// Die ursprüngliche Lösung (hat funktioniert)
TBitBtn(FindComponent(sButton)).Glyph := Image1.Picture.Bitmap;
// Die gewollte Lösung, die aber nicht funktioniert
ImageList1.GetBitmap(1, TBitBtn(FindComponent(sButton)).Glyph);
// Der Workaround, der funktioniert
BitMap1 := TBitMap.Create;
ImageList1.GetBitmap(1, BitMap1);
TBitBtn(FindComponent(sButton)).Glyph := BitMap1;
BitMap1.Free;
Wenn ich die Buttons im TForm.Create mit
Delphi-Quellcode:
for i := 1 to 10 do
begin
sButton := format('btAbs%d', [i]);
ImageList1.GetBitmap(4, TBitBtn(FindComponent(sButton)).Glyph);
end;
initialisiere, funktioniert die Zuweisung. Von daher habe ich es schon mit Refresh probiert, aber das brachte nichts