Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - bildüberlagerung


keine_ahnung3 - Fr 25.01.08 13:37
Titel: bildüberlagerung
folgendes prob:
drei images sollen übereinander liegen (spielkarten), die karten sind versetzt (darunterliegenden karten sind teilweise zu sehen).
DIe Karten werden voher angeklickt, damit sie sich auf den Stapel bewegen, Problem dabei:

Die letzte angeklickte Karte soll die oberste sein, sie ordnen sich aber immer der Reihe nach ein.

Wie bekomme ich die letzte angeklickte Karte in den Vordergrund?



Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
procedure TForm1.Image2Click(Sender: TObject);
begin
  Image2.left:=100;
  Image2.top:=100;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 close;
end;

procedure TForm1.Image3Click(Sender: TObject);
begin
 Image3.left:=120;
 Image3.top:=80;
end;

procedure TForm1.Image4Click(Sender: TObject);
begin
 Image4.left:=140;
 Image4.top:=100;
end;


hoffe ihr versteht mein prob und könnt mir helfen, danke im vorraus euer keine_ahnung3^^

Moderiert von user profile iconChristian S.: Delphi-Tags hinzugefügt
Moderiert von user profile iconChristian S.: Topic aus Delphi Language (Object-Pascal) / CLX verschoben am Fr 25.01.2008 um 12:38


Xion - Fr 25.01.08 15:32

:welcome:

mit Image1.BringtoFront bringst du das Image1 nach vorne...

Also am besten für alle Karten ein (nur eins) OnClick:


Delphi-Quelltext
1:
2:
3:
4:
procedure TForm1.KarteClick(Sender: TObject);
begin
  TImage(Sender).BringtoFront; //Bin mir hier mit dem Syntax nicht ganz sicher
end;


Xion


keine_ahnung3 - Fr 15.02.08 14:16

hat funktioniert thx


Tilo - Fr 15.02.08 15:06


Delphi-Quelltext
1:
2:
3:
4:
procedure TForm1.KarteClick(Sender: TObject);
begin
  (Sender as TImage).BringtoFront; //Bin mir hier mit dem Syntax nicht ganz sicher
end;


Im Objectinspektor für jedes Kartenimage im OnClick diese Procedure angeben.