Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Während der Programmlaufzeit TImage-Object hinzufügen (https://www.delphipraxis.net/84928-waehrend-der-programmlaufzeit-timage-object-hinzufuegen.html)

Telefonkabel 23. Jan 2007 18:01


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.

3_of_8 23. Jan 2007 18:04

Re: Während der Programmlaufzeit TImage-Object hinzufügen
 
Delphi-Quellcode:
MyImage:=TImage.Create(Self);

SirThornberry 23. Jan 2007 18:06

Re: Während der Programmlaufzeit TImage-Object hinzufügen
 
wie jedes andere Object erzeugt man es in dem man den Constructor aufruft:
Delphi-Quellcode:
DeinImage := TImage.Create(nil);
natürlich kannst du auch einen Owner angeben.
Damit das TImage auch sichtbar ist musst du einen Parent noch angeben (also wo es drauf liegen soll)
Delphi-Quellcode:
DeinImage.Parent := Form1;//alternativ Self wenn es in der Formklasse erzeugt wird
Und dann müssen nur noch die Bilder reingeladen werden und eventuell die größe noch geändert werden
Delphi-Quellcode:
DeinImage.SetBounds(Links, Rechts, Breite, Hoehe);

Telefonkabel 23. Jan 2007 18:35

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?

TonyR 23. Jan 2007 19:03

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:
for i:=0 to 7 do
  ImageArray[i].tag:=i;
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!
Delphi-Quellcode:
procedure TueEtwasBeiKlick(sender: Tobject);
begin
  case TImage(sender).tag of
    0: ... ;
    1: ... ;
        .
        .
        .
  end;
end;
Dazu musst du dann an der Stelle, wo du den Klick abfängst noch den sender des Images übergeben!
Ich hoffe ich konnte ein bisschen helfen :wink:

3_of_8 23. Jan 2007 19:10

Re: Während der Programmlaufzeit TImage-Object hinzufügen
 
Man könnte auch im OnClick den Sender überprüfen.

TonyR 23. Jan 2007 19:12

Re: Während der Programmlaufzeit TImage-Object hinzufügen
 
Stimmt, ist besser.... :oops:
und einfacher :-D

3_of_8 23. Jan 2007 19:15

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.

TonyR 23. Jan 2007 19:18

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... :?

Telefonkabel 23. Jan 2007 20:29

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 06:43 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz