image.OnClick

Für Probleme bezüglich Grafik, Audio, GL, ACS, ...
Antworten
lilebor
Beiträge: 15
Registriert: So 1. Okt 2006, 10:03

image.OnClick

Beitrag von lilebor »

Hallo,

weiß jemand wie ich folgendes umsetzen kann ??

ich habe eine Form1 auf der mehrere Images liegen, nun versuche ich
innerhalb einer While Schleife das, das klicken auf eins der Images
einer Variablen einen Wert zuweist, aber leider funkt das onklick ereigniss nicht so wie ich mir das dachte.!

bsp: (so funkt es nicht aber das war so meine Vorstellung wie es gehn sollte)

Code: Alles auswählen

while x < y do
begin
......
if image1.onklick then a := a+ 12;
else
if image2.onklick then a := a+ 15;
else
if image3.onklick then a := a+ 132;
else
if image4.onklick then a := a+ 665;
end;
.......
end;

da das innerhalb einer Schleife läuft möchte(kann) ich nicht auf die
Procedure "OnImage.click" zurückgreifen

mein (schon etwas älteres) Delphi-Buch hilft mir da nicht wirklich weiter

für einen Tip
(bzw einen Code Schnipsel wie es gemacht wird danke ich schonmal vorrab)

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Imagex.OnClick ist ein Ereignis, die immer aufgerufen wird wenn du auf das Image klickst.

Also Objektinspektor->Tab Ereignisse->OnClick anwählen->auf den Button mit den 3 ... klicken nun hast du den Sourcecode automatisch generiert im Quelltexteditor dort schreibst du für Image1 nur noch a := a+ 12; rein und schon hast du was du wolltest :)
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

pluto
Lazarusforum e. V.
Beiträge: 7192
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

du könntest das auch so machen:
du speicherst z.b. die Werte im Tag der jeweilige Komponente:

Code: Alles auswählen

image1.tag:=12;
image2.tag:=15;
image3.tag:=132;
image4.tag:=665;
Das machst du z.b. im OI

nun musst du alle Ereignisse mit dem einem verknüffpen:

Code: Alles auswählen

image1.onclick:=@ImageClick
image2.onclick:=@ImageClick
image3.onclick:=@ImageClick
image4.onclick:=@ImageClick
das kannst du auch im OI machen

im ImageClick Ereigniss könntest du jetzt z.b. folgendes schreiben:

Code: Alles auswählen

procedure TFrom1.Imageclick(sender:TObject);
begin
 (Sender as TImage).tag:=a+(Sender as TImage).tag;
end;
ich weiß nicht was a ist, aber ich denke mal eine einfache Integer Variable die Gobal in diesem Fall sein sollte. Ich hoffe das ist das was du erreichen wolltest
MFG
Michael Springwald

lilebor
Beiträge: 15
Registriert: So 1. Okt 2006, 10:03

Beitrag von lilebor »

Hallo,

Danke für die beiden Tips,
habe es probiert und es funktioniert.!

Lazarus kann so einfach sein :P

Antworten