onclick dynamisch erzeugtes timage
lima-city → Forum → Programmiersprachen → Delphi & Pascal
array
bild
code
diverse aktionen
doppelklick
dreifache menge
entsprechende prozedur
formular
image
laufzeit
leiste
methode
prozedur
schleife
sender
speichern
unterschiedliche funktionen
variablen code
verwalten
verwenden
-
Guten Abend,
ich habe unter Delphi 6 mehrere (3) Timages dynamisch erstellt.
Nun möchte ich diverse Aktionen ausfüren, wenn man auf eines der drei Bilder klickt.
Weiß jemand wie ich die Procedure zuweisen muss, damit ich sie verwenden kann?
MfG ferana -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
du willst also der TImage per onclick event eine prozedur ausführen lassen? entweder doppelklick drauf, oder eben links unten in der leiste bei ausgewähltem TImage in die Eventliste gehen, und einen doppelklick in das entsprechende event (oder die entsprechende prozedur per dropdown wählen)
-
Ganz einfach:
TImageName.onDblClick := ProcedureName; procedure ProcedureName(Sender: TObject); begin ... end;
Über "Sender" kannst du dann herausfinden, welcher der Images geklickt wurde um zB unterschiedliche Funktionen aufzurufen. -
crombo schrieb:
verwenden, dann kannst du viele Dinge bequem über eine Schleife machen.
Er belegt auf diese Weise die dreifache Menge an Speicher. Also wenn es sich dabei um sehr große Bilder handelt, ist das eine nicht sehr speicherschonende Lösung. -
burgi schrieb:
crombo schrieb:
verwenden, dann kannst du viele Dinge bequem über eine Schleife machen.
Er belegt auf diese Weise die dreifache Menge an Speicher. Also wenn es sich dabei um sehr große Bilder handelt, ist das eine nicht sehr speicherschonende Lösung.
Wieso? Ob er jetzt die Variablen
Img1, Img2, Img3: TImage;
oder
Images: array[0..2] of TImage;
deklariert kommt aufs selber heraus. Nur dass er beim Array die Vorteile hat, dass er schön durchiterieren kann.
Oder hab ich an seinem Problem etwas falsch verstanden? Er will doch alle TImage-Komponenten gleichzeitig anzeigen?
-
trueweb schrieb:
Ganz einfach:
TImageName.onDblClick := ProcedureName; procedure ProcedureName(Sender: TObject); begin ... end;
Beinahe. Nur darf es sich nicht um eine reguläre Prozedur handeln, sondern muss eine Methode sein, d.h. sie muss zu einer Klasse gehören. Üblicherweise nimmt man da das Formular dafür. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage