Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi Image ermitteln bei image1click (https://www.delphipraxis.net/174842-image-ermitteln-bei-image1click.html)

cello 13. Mai 2013 19:05

Image ermitteln bei image1click
 
Ich habe im Quellcode mehrere TImage Felder in einem array erstellt. Nun möchte ich, wenn man ein imagefeld anklickt, das die Position ermittelt wird und ausgegeben wird. Wie komme ich an den Wert ran? Und vor allem wie weiß ich um welches imagefeld es sich handelt?

grl 13. Mai 2013 19:09

AW: Image ermitteln bei image1click
 
Sollte nicht Sender dann das Imagefeld sein?

Mal so ausm Bauch raus:

Delphi-Quellcode:
if Sender is TImage then begin
  ShowMessage(TImage(Sender).Name);
end;
Gruß
Luggi

cello 13. Mai 2013 19:22

AW: Image ermitteln bei image1click
 
Zitat:

Zitat von grl (Beitrag 1215228)
Sollte nicht Sender dann das Imagefeld sein?

Mal so ausm Bauch raus:

Delphi-Quellcode:
if Sender is TImage then begin
  ShowMessage(TImage(Sender).Name);
end;
Gruß
Luggi

Danke :)
Hab mal geguckt ob er generell was macht wenn man auf ein imagefeld klickt
Resultat nichts. Wenn ich Objekte im Quellcode erstelle muss man da bezüglich ....Click und so was beachte? Hatten bis jetzt eigentlich nur, dass wir uns z.b. Einen Button aufs Formular ziehen und dort die Procedere 1click auswählen.

grl 13. Mai 2013 19:25

AW: Image ermitteln bei image1click
 
Ja hast du denn dem erstellten Image ein Click-Ereignis zugewiesen?

Also ungefähr so:
Delphi-Quellcode:
Image:=TImage.Create(self);
Image.OnClick:=MeinOnClick;
Luggi

cello 13. Mai 2013 19:46

AW: Image ermitteln bei image1click
 
Zitat:

Zitat von grl (Beitrag 1215233)
Ja hast du denn dem erstellten Image ein Click-Ereignis zugewiesen?

Also ungefähr so:
Delphi-Quellcode:
Image:=TImage.Create(self);
Image.OnClick:=MeinOnClick;
Luggi

Delphi-Quellcode:
Procedure TForm2.Bildzeigen(Namebild:string;Bild:string; x3:integer; y3:integer);

begin
  feld[x3,y3].Name := Namebild;
  feld[x3,y3].Bild := Timage.create(Form2);

  feld[x3,y3].Bild.parent := Form2;
  feld[x3,y3].Bild.top := x3*40;
  feld[x3,y3].Bild.left := y3*40;
  feld[x3,y3].Bild.Picture.LoadFromFile(Bild);
  feld[x3,y3].Bild.visible:=true;
end;
wo muss das hin?

grl 13. Mai 2013 19:52

AW: Image ermitteln bei image1click
 
Zitat:

Zitat von cello (Beitrag 1215235)
Delphi-Quellcode:
  feld[x3,y3].Bild := Timage.create(Form2);

Irgendwo da danach sonst ist das TImage ja noch nicht erzeugt.

Und ich würde nicht auf die Variable Form2 zugreifen sondern stattdessen self benutzen - neben der Tatsache, daß es schlechter Stil ist macht der direkte Zugriff auf so eine Variable immer dann Probleme wenn du das Formular nicht als Form2 erzeugst.

Also so:
Delphi-Quellcode:
  feld[x3,y3].Bild := Timage.create(self);
  feld[x3,y3].Bild.parent := self;
Luggi

sx2008 13. Mai 2013 20:00

AW: Image ermitteln bei image1click
 
Zitat:

Zitat von cello (Beitrag 1215226)
... mehrere TImage Felder in einem array erstellt

Sind die Images alle gleich gross?
Sind die Images in einem 2-dimensionalen Array angeordnet wie z.B. bei einem Schachbrett oder 4-Gewinnt Spiel?
(sieht wohl ganz so aus)

Falls ja, dann bist du mit einem Drawgrid besser bedient als mit so vielen Images.

cello 13. Mai 2013 20:18

AW: Image ermitteln bei image1click
 
mit
Delphi-Quellcode:
    showmessage (TImage(Sender).name);
kann ich dadrauf aber nicht zugreifen

grl 13. Mai 2013 20:20

AW: Image ermitteln bei image1click
 
Worauf zugreifen?

Eigentlich solltest du mittlerweile wissen, daß wir alle nicht hellsehen können und nicht raten wollen.

Also: Sourcecode posten, Fehler genau beschreiben und du bekommst sicher bald eine brauchbar Antwort.

Luggi


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:29 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