AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi OnClick Prozeduren für zur Laufzeit erstellte Bilder
Thema durchsuchen
Ansicht
Themen-Optionen

OnClick Prozeduren für zur Laufzeit erstellte Bilder

Ein Thema von fuisch · begonnen am 2. Apr 2005 · letzter Beitrag vom 2. Apr 2005
Antwort Antwort
fuisch

Registriert seit: 26. Dez 2004
18 Beiträge
 
Delphi 6 Personal
 
#1

OnClick Prozeduren für zur Laufzeit erstellte Bilder

  Alt 2. Apr 2005, 19:35
Hallo alle!

Folgendes Problem:
Ich habe mehrere (je nach Benutzereingabe verschieden viele) Bilder, die zur Laufzeit erzeugt werden. Jetzt brauche ich zu jedem dieser Bilder eine Prozedur die beim anklicken vom diesem ausgelöst wird und der gleichzeitig noch der Dateiname des Bildes mitgegeben wird. Die Bilder werden wie folgt erzeugt:

Delphi-Quellcode:
for n:= 0 to Dateien.Count - 1 do begin
  if (n MOD 8 = 0) AND (n<>0) then begin
    reihe:=reihe+1;
    bildnummer:=0;
  end;
  Image[n] := TImage.Create(Frame21);
  Image[n].Left := bildnummer*95+8;
  Image[n].Top := reihe*110+8;
  Image[n].Height := 72;
  Image[n].width := 87;
  Image[n].Parent := Frame21;
  Image[n].Stretch := true;
  Image[n].Proportional := true;
  Image[n].Picture.LoadFromFile(Dateien[n]);
  bildnummer:=bildnummer+1;
end;
Hoffe es kann jemand helfen und vor allem nicht allzu tiefgehend wenn möglich, hab noch nicht so viel Erfahrung mit Delphi.

Nochmal eine Entschuldigung für den Thread in dem ich wegen den Vorschaubildern gefragt hatte und nimmer geschaut hab. Das Problem war eine verkackte Windows 98 Installation. Hab inzwischen XP drauf und alles klappt einwandfrei.
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#2

Re: OnClick Prozeduren für zur Laufzeit erstellte Bilder

  Alt 2. Apr 2005, 19:44
Delphi-Quellcode:

procedure clickcallback(Sender:TObject);
begin
//code...
end;

procedure callbackassign(bitmap:TBitMap);
begin
bitmap.onclick:=clickcallback;
end;
edit: is vielleicht n bisschen wenig für nen anfänger..
im callback kannst du mit (sender as TBitMap) auf dein bitmap zugreifen(z.b. (sender as tbitmap).width ).
und für jedes neu erstellte bitmap halt einmal callbackassgin mit dem bitmap aufrufen.
Lukas Erlacher
  Mit Zitat antworten Zitat
fuisch

Registriert seit: 26. Dez 2004
18 Beiträge
 
Delphi 6 Personal
 
#3

Re: OnClick Prozeduren für zur Laufzeit erstellte Bilder

  Alt 2. Apr 2005, 22:38
an der Stelle hier
Delphi-Quellcode:
procedure callbackassign(Bild:TImage);
begin
  Bild.onclick:=clickcallback;
end;
bekomm ich die Fehlermeldung:
Zitat:
Incompatible types: 'method pointer and regular procedure'
  Mit Zitat antworten Zitat
Benutzerbild von malo
malo

Registriert seit: 19. Sep 2004
2.115 Beiträge
 
#4

Re: OnClick Prozeduren für zur Laufzeit erstellte Bilder

  Alt 2. Apr 2005, 22:39
Versuch mal so:

Delphi-Quellcode:
procedure callbackassign(Bild:TImage);
begin
  Bild.click:=clickcallback;
end;
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#5

Re: OnClick Prozeduren für zur Laufzeit erstellte Bilder

  Alt 2. Apr 2005, 22:40
liegt daran weil es eine methode sein muss (also TForm1 etc. muss davor stehen), also so:
Delphi-Quellcode:
procedure TForm1.clickcallback(Sender:TObject);
begin
//code...
end;

procedure TForm1.callbackassign(bitmap:TBitMap);
begin
bitmap.onclick:=clickcallback;
end;
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
fuisch

Registriert seit: 26. Dez 2004
18 Beiträge
 
Delphi 6 Personal
 
#6

Re: OnClick Prozeduren für zur Laufzeit erstellte Bilder

  Alt 2. Apr 2005, 22:45
Jup, supi jetzt tut's. Danke!
An click statt onclick lag's nicht, da hat er ne Fehlermeldung gebracht:
Undeclared identifier: 'click'
  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 16:22 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