kostenloser Webspace werbefrei: lima-city


onclick dynamisch erzeugtes timage

lima-cityForumProgrammiersprachenDelphi & Pascal

  1. Autor dieses Themas

    ferana

    Kostenloser Webspace von ferana, auf Homepage erstellen warten

    ferana hat kostenlosen Webspace.

    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
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. g****e

    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)
  4. Auf ein dynamisch erzeugtes TImage kann man schlecht zur Designtime doppelklicken:biggrin:. Erstelle Dir eine aufrufkompatible Methode des Formulars, diese kannst Du dann dem Image zur Laufzeit zuweisen.
  5. t*****b

    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.
  6. Wenn du wie in diesem Fall mehrere Images verwalten möchtest würde ich

    var
      Images: array[0..2] of TImage;


    verwenden, dann kannst du viele Dinge bequem über eine Schleife machen.

  7. burgi

    Co-Admin Kostenloser Webspace von burgi

    burgi hat kostenlosen Webspace.

    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.
  8. 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?
  9. 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.
  10. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!