Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Welches Objekt wurde in der Scrollbox angeklickt (https://www.delphipraxis.net/97314-welches-objekt-wurde-der-scrollbox-angeklickt.html)

Luckie 8. Aug 2007 12:58


Welches Objekt wurde in der Scrollbox angeklickt
 
Ich habe mehrere Objekte in einer Scrollbox:
Delphi-Quellcode:
procedure TForm1.FillScrollBox;
var
  i: Integer;
  Img: TImage;
  rect: TRect;
begin
  for i := 0 to 9 do
  begin
    Img := TImage.Create(ScrollBox1);
    Img.Parent := ScrollBox1;
    Img.Width := ScrollBox1.Width - 50;
    Img.Left := (ScrollBox1.Width div 2) - (Img.Width div 2) - 10;
    Img.Height := 150;
    Img.Top := (Img.Height + 30) * i;
    Img.Canvas.Brush.Color := clWhite;
    Img.Canvas.Pen.Color := clBlack;
    rect.Left := 0;
    rect.Top := 0;
    rect.Bottom := Img.Height;
    rect.Right := Img.Width;
    Img.Canvas.Rectangle(rect);
  end;
end;
Wie kann ich nun herausfinden, welches Objekt vom Benutzer angeklickt wurde?

Der_Unwissende 8. Aug 2007 13:03

Re: Welches Objekt wurde in der Scrollbox angeklickt
 
Zitat:

Zitat von Luckie
Wie kann ich nun herausfinden, welches Objekt vom Benutzer angeklickt wurde?

Äh, Du kennst doch das OnClick-Ereignis? :gruebel:

Überseh ich irgendwas? Sorry, bin etwas verwundert weil die Frage von Dir irgendwie ausschließt, dass Du sowas suchst, oder?

Gruß Der Unwissende

Luckie 8. Aug 2007 13:08

Re: Welches Objekt wurde in der Scrollbox angeklickt
 
Ja OnClick-Ereignis der Scrollbox kenne ich. Aber auf welches Objekt wurde geklickt, das ist mein Problem. Hm, ich könnte in der Tag-Eigenschaft den Schleifen-Index speichern und jedem Image das gleiche OnClick-Ereignis zu weisen. Über den Sender habe ich ja dann das Image und kann den Wert des Tags auslesen.

Oder hat da jemand eine bessere Idee?

Also so:
Delphi-Quellcode:
procedure TForm1.OnImageClick(Sender: TObject);
begin
  Caption := IntToStr(TImage(Sender).Tag);
end;

Der_Unwissende 8. Aug 2007 13:17

Re: Welches Objekt wurde in der Scrollbox angeklickt
 
Zitat:

Zitat von Luckie
Aber auf welches Objekt wurde geklickt, das ist mein Problem. Hm, ich könnte in der Tag-Eigenschaft den Schleifen-Index speichern und jedem Image das gleiche OnClick-Ereignis zu weisen. Über den Sender habe ich ja dann das Image und kann den Wert des Tags auslesen.

Über Sender hast Du das Objekt, caste es in TImage und Du hast ja schon das korrekte Image, wüßte jetzt nicht warum Du da noch ein Array brauchst? Also die Frage ist vielleicht erstmal, was Du genau machen möchtest.

Luckie 8. Aug 2007 13:20

Re: Welches Objekt wurde in der Scrollbox angeklickt
 
Ich habe oben gerade meine Idee umgestzt und das funktioniert.

Manch mal muss man einfach nur mit jemanden Reden, um selber eine Lösung zu finden. ;)


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