AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi dynamische Timage onclick
Thema durchsuchen
Ansicht
Themen-Optionen

dynamische Timage onclick

Ein Thema von simonko · begonnen am 17. Jul 2005 · letzter Beitrag vom 17. Jul 2005
Antwort Antwort
simonko

Registriert seit: 2. Jun 2005
125 Beiträge
 
#1

dynamische Timage onclick

  Alt 17. Jul 2005, 15:06
Ich hab jetzt Timages zur laufzeit erstellt in einer prozedur;
Delphi-Quellcode:
      s:=stacktostring(p);
      form1.bild[i]:= TImage.Create(form1);
      form1.bild[i].Parent:=form1;
      form1.bild[i].Left:=100+(i*20);
      form1.bild[i].Top:=250;
      form1.bild[i].Width:=60;
      form1.bild[i].Height:=90;
      form1.bild[i].Picture.LoadFromFile('C:\'+s+'.JPG');
      form1.bild[i].Visible:=true;
jetzt möcht ich aber dass jedes bild bei onclick etwas anderes macht. kann ich dass da noch irgendwie zuweisen? Ich bräuchte das s : string dass zu jeden bild zugewiesen wordn ist und es soll dann eine prozedur aufrufen die für jeden gleich ist. ich muss eigentlich nur den namen des bildes wissen.

vor allem versteh ich nicht wo ich das onclick reinschreiben muss. denn bei normalen Timage gibts ja die events onclick. aber bei diesen ist das etwas anders.. ich kenn mich nicht so aus


bitte um hilfe
MFG
  Mit Zitat antworten Zitat
Benutzerbild von Ultimator
Ultimator

Registriert seit: 17. Feb 2004
Ort: Coburg
1.860 Beiträge
 
FreePascal / Lazarus
 
#2

Re: dynamische Timage onclick

  Alt 17. Jul 2005, 15:13
Du könntest in dieser Schleife auch gleich allen Images-Kompos die gleich eOnClick-Prozedur zuweisen, und auch noch den Tag der Image-Kompos auf das aktuelle i setzen. Dann kannst du im Eventhandler überprüfen, welchen Tag die Kompo hat und je anchdem handeln.
Julian J. Pracht
  Mit Zitat antworten Zitat
r2c2

Registriert seit: 9. Mai 2005
Ort: Nordbaden
925 Beiträge
 
#3

Re: dynamische Timage onclick

  Alt 17. Jul 2005, 15:15
Hallo simonko
das geht eigentlich ganz einfach:
Delphi-Quellcode:
procedure MyImageClick(Sender: TObject);
begin
  with Sender as TImage do
  begin
    ShowMessage(Name);
    //oder
    if Tag = 25 then
      DoSomething;
    //oder mach was anderes mit deinem Bild
  end;
end;

...

form1.bild[i].OnClick := MyImageClick(Sender: TObject);
mfg

Christian
Kaum macht man's richtig, schon klappts!
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#4

Re: dynamische Timage onclick

  Alt 17. Jul 2005, 15:29
Soweit ich weis, geht die Zuweisung dann aber so:form1.bild[i].OnClick := MyImageClick;
  Mit Zitat antworten Zitat
Benutzerbild von sniper_w
sniper_w

Registriert seit: 11. Dez 2004
Ort: Wien, Österriech
893 Beiträge
 
Delphi 6 Enterprise
 
#5

Re: dynamische Timage onclick

  Alt 17. Jul 2005, 15:36
Daraus wird nichts.TNotifyEvent = procedure (Sender:TObject) of object und ihr bietet nurTNotifyEvent = procedure (Sender:TObject); Es muss also so deklariert sein:
Delphi-Quellcode:
procedure TFomr1.MyOnClick(Sender:TObject);
begin
 case TComponent(Sender).Tag of
  1:;
  2:;
  // usw....
 end;
end;
EDIT: und so sollte man die Images erstellen:
Delphi-Quellcode:
procedure TForm1.ErstelleImages(ImgCount:integer);
begin
  SetLength( bild, imgCount);
  for i:=0 to ImgCoun-1 do
  begin
    bild[i] := Timage.Create(Self);
    with Bild[i] do
    begin
      Parent := Self;
      // andere eigenschaften zuweisen
      Tag := i; // <<<<<-------SEHR WICHTIG !!!
      OnClick := MyOnClick;
    end;
  end;
end;
Katura Haris
Es (ein gutes Wort) ist wie ein guter Baum, dessen Wurzel fest ist und dessen Zweige in den Himmel reichen.
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#6

Re: dynamische Timage onclick

  Alt 17. Jul 2005, 15:45
Und dann nehmen wir am besten gleich eine Typed-Object-List und ausserdem schreiben wir z.B. statt TFomr1 TForm1
  Mit Zitat antworten Zitat
r2c2

Registriert seit: 9. Mai 2005
Ort: Nordbaden
925 Beiträge
 
#7

Re: dynamische Timage onclick

  Alt 17. Jul 2005, 15:53
Zitat von jfheins:
Soweit ich weis, geht die Zuweisung dann aber so:form1.bild[i].OnClick := MyImageClick;
Hast Recht!

mfg

Christian

//Edit: Hm.. da waren wohl noch einige Posts dazwischen.
Ich glaub die waren auch etwas ausführlicher.
Kaum macht man's richtig, schon klappts!
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:28 Uhr.
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