Einzelnen Beitrag anzeigen

norwegen60

Registriert seit: 23. Dez 2007
Ort: Schwarzwald
504 Beiträge
 
Delphi 12 Athens
 
#1

GetBitmap(3, TBitBtn.Glyph) direkt in Objekt geht nicht

  Alt 7. Sep 2019, 10:00
Delphi-Version: 5
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
  Mit Zitat antworten Zitat