![]() |
schneller Ersatz für timage
Hallo DP'ler,
gibt es einen schnellen Ersatz für Timage? Ich muss ein Icon(bmp)-array auf einer Form darstellen. Alles was ich eigentlich brauche ist eine Komponente in der eine Bitmap dargestellt werden kann und das ich anklicken kann. Die unten angegebene Routine braucht für breite=38 und hoehe=28 ca 20sec. timage_ext ist ein Nachfolger von timage mit 2 Integervariablen zusätzlich. Der Zeitbedarf zwischen meiner Komponente und timage unterscheidet sich überhaupt nicht.
Delphi-Quellcode:
Vielen dank im Vorraus!
setlength(bmdraw,breite,hoehe);
for n := 0 to breite-1 do for m := 0 to hoehe-1 do begin bmdraw[n,m]:=timage_ext.create(self); bmdraw[n,m].Parent:=Form2; bmdraw[n,m].Picture.Bitmap.Width:=22; bmdraw[n,m].Picture.Bitmap.height:=22; bmdraw[n,m].Top:=2; Bm.Imagelist1.GetBitmap(0, bmdraw[n,m].Picture.Bitmap); bmdraw[n,m].Left:=n*23; bmdraw[n,m].top:=m*23; bmdraw[n,m].OnMouseDown:=FormMouseDown; bmdraw[n,m].ext_x:=n; bmdraw[n,m].ext_y:=m; end; |
Re: schneller Ersatz für timage
Schau dir mal
![]() |
Re: schneller Ersatz für timage
Hallo mkinzler,
danke für deinen Tip, habs ausprobiert ist eher noch langsamer. Das Problem scheint die parent-Zuweisung zu sein.
Delphi-Quellcode:
Ich habe die parent Anweisung ans Ende des Codes geschrieben und jetzt funktioniert das Ganz innerhalb von 1 sec.
setlength(bmdraw,breite,hoehe);
for n := 0 to breite-1 do for m := 0 to hoehe-1 do begin bmdraw[n,m]:=timage_ext.create(self); //bmdraw[n,m].Parent:=Gleisbild; //langsame Version bmdraw[n,m].Picture.Bitmap.Width:=22; bmdraw[n,m].Picture.Bitmap.height:=22; bmdraw[n,m].Top:=2; Bm.Schienen.GetBitmap(0, bmdraw[n,m].Picture.Bitmap); bmdraw[n,m].Left:=n*23; bmdraw[n,m].top:=m*23; bmdraw[n,m].OnMouseDown:=FormMouseDown; bmdraw[n,m].ext_x:=n; bmdraw[n,m].ext_y:=m; bmdraw[n,m].Parent:=Gleisbild; //schnelle Version end; Warum ist mir allerdings unklar. Kann es sein, dass die Bitmap danach (nach parent) bei jeder Änderung neu gezeichnet werden muss? Vielen Dank! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:56 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz