![]() |
Während der Programmlaufzeit TImage-Object hinzufügen
Hy!
Ich würde gerne in meinem Programm, wie der Threadtitel schon sagt, ein TImage-Object hinzufügen, doch habe ich keine Ahnung, wie das funktioniert. Kann mir jemand helfen? MfG Telekab. |
Re: Während der Programmlaufzeit TImage-Object hinzufügen
Delphi-Quellcode:
MyImage:=TImage.Create(Self);
|
Re: Während der Programmlaufzeit TImage-Object hinzufügen
wie jedes andere Object erzeugt man es in dem man den Constructor aufruft:
Delphi-Quellcode:
natürlich kannst du auch einen Owner angeben.
DeinImage := TImage.Create(nil);
Damit das TImage auch sichtbar ist musst du einen Parent noch angeben (also wo es drauf liegen soll)
Delphi-Quellcode:
Und dann müssen nur noch die Bilder reingeladen werden und eventuell die größe noch geändert werden
DeinImage.Parent := Form1;//alternativ Self wenn es in der Formklasse erzeugt wird
Delphi-Quellcode:
DeinImage.SetBounds(Links, Rechts, Breite, Hoehe);
|
Re: Während der Programmlaufzeit TImage-Object hinzufügen
Danke, das funktioniert soweit. :)
Nun habe ich aber ein weiteres Problem. Es soll nicht nur ein TImage erstellt werden können, sondern bis zu 8. Ok, hab ich also ein Array genommen. Klappt auch soweit. Und ich habe auf die Bilder ein onclick Event gelegt. Und genau hier ist das Problem. Denn ich müsste dann in der aufgerufenen Procedure wissen, welches der TImages (also die Indexnummer des Arrays) das Event ausgelöst hat, denn es soll bei jedem Bild etwas anderes passieren. Kann mir da einer helfen? |
Re: Während der Programmlaufzeit TImage-Object hinzufügen
ich hab da so eine idee:
du weist allen Bildern einen anderen Tag zu
Delphi-Quellcode:
Wenn du jetzt deine Prozedur hast, die aufgerufen wird, wenn du ein Bild anklickst, bekommst du mit sender den Tag des Images raus und kannst eine Fallunterscheidung vornehmen!
for i:=0 to 7 do
ImageArray[i].tag:=i;
Delphi-Quellcode:
Dazu musst du dann an der Stelle, wo du den Klick abfängst noch den sender des Images übergeben!
procedure TueEtwasBeiKlick(sender: Tobject);
begin case TImage(sender).tag of 0: ... ; 1: ... ; . . . end; end; Ich hoffe ich konnte ein bisschen helfen :wink: |
Re: Während der Programmlaufzeit TImage-Object hinzufügen
Man könnte auch im OnClick den Sender überprüfen.
|
Re: Während der Programmlaufzeit TImage-Object hinzufügen
Stimmt, ist besser.... :oops:
und einfacher :-D |
Re: Während der Programmlaufzeit TImage-Object hinzufügen
Nicht unbedingt. Wenn man aus irgendeinem Grund den Arrayindex braucht, ist die Methode mit dem Tag besser. Aber ansonsten wohl das mit dem Sender.
|
Re: Während der Programmlaufzeit TImage-Object hinzufügen
Das ist jetzt ganz schön OT, aber...
Wenn unsere HandyAntenne hier sich mal wieder melden würde, dann wüssten wir in welcher Form er es braucht... :? |
Re: Während der Programmlaufzeit TImage-Object hinzufügen
In Form1 braucht das die Handyantenne. :P
Danke, ihr habt mir sehr geholfen! Klappt alles wunderbar! :) MfG Telekab. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:53 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