Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Image während der Laufzeit eine Ebene nach hinten Stufen (https://www.delphipraxis.net/144787-image-waehrend-der-laufzeit-eine-ebene-nach-hinten-stufen.html)

Fussel9 16. Dez 2009 18:13


Image während der Laufzeit eine Ebene nach hinten Stufen
 
Hi, eine Frage zum Fenster-Handle glaube ich zumindest... kenn mich da nich so aus:

Hab mehrere Image Komponenten, nun soll beim klick auf eine diese nach vorne gesetzt werden.

Die Überlappen sich alle und sonst kann man ja nicht jedes Bild sehn, hoffe ihr versteht was ich meine ;)

Gibt es nen Befehl der das zur Laufzeit macht?

Thx für jede Antwort.

DeddyH 17. Dez 2009 09:41

Re: Image während der Laufzeit eine Ebene nach hinten Stufen
 
Ich bin nicht sicher, ob ich Dich richtig verstanden habe, aber versuch es einmal mit TImage.BringToFront.

Fussel9 17. Dez 2009 16:31

Re: Image während der Laufzeit eine Ebene nach hinten Stufen
 
Ok, das geht, aber soll ich das jetzt bei JEDEM Bild in die On Click Proz. einfügen oder gibt es eine andere Möglichkeite?


das sind nämlich 20 Imagekomponenten...
würd nen langer quelltext..

THX erstmal für die antwort

jfheins 17. Dez 2009 16:55

Re: Image während der Laufzeit eine Ebene nach hinten Stufen
 
Einfach ein
Delphi-Quellcode:
(Sender as TImage).BringToFront
und dann jedem Image die gleiche Ereignisprozedur verpassen ;)

Micha88 17. Dez 2009 17:01

Re: Image während der Laufzeit eine Ebene nach hinten Stufen
 
Delphi-Quellcode:
(Sender as TImage).BringToFront
geht nicht auch folgendes?
Delphi-Quellcode:
TImage(Sender).BringToFront

Fussel9 17. Dez 2009 17:04

Re: Image während der Laufzeit eine Ebene nach hinten Stufen
 
Sorry, aber das versteh ich jetzt nicht ganz...

Wo soll ich das denn einfügen?

Und:

Zitat:

und dann jedem Image die gleiche Ereignisprozedur verpassen Wink
mach ich dann nicht genau so viel als wenn ich bei jedem auf dem OnClick Event den Befehl einfüge?

jfheins 17. Dez 2009 17:05

Re: Image während der Laufzeit eine Ebene nach hinten Stufen
 
Zitat:

Zitat von MichaelLinden
geht nicht auch folgendes?

Ja klar - ist ja beides Mal ein Cast nach TImage.

Unterschied ist halt, neben einem minimalen Zeitunterschied, die nettere Fehlermeldung falls der sender mal kein TImage ist ;)
Zitat:

Zitat von Fussel9
Sorry, aber das versteh ich jetzt nicht ganz...

Wo soll ich das denn einfügen?

Und:

Zitat:

und dann jedem Image die gleiche Ereignisprozedur verpassen Wink
mach ich dann nicht genau so viel als wenn ich bei jedem auf dem OnClick Event den Befehl einfüge?

Du machst auf ein Image einen Doppelklick um die Prozedur generieren zu lassen. Dann markierst du im Formulardesigner alle anderen Images (mit Strg oder Shift) und geht in den OI und bei dem Ereignis OnClick wählst du dann die Prozedur aus, die im Schritt eins generiert wurde (wahrscheinlich Image1_OnClick)
Ich finde, das ist weniger Arbeit :stupid:

Fussel9 17. Dez 2009 17:09

Re: Image während der Laufzeit eine Ebene nach hinten Stufen
 
Zitat:

Zitat von jfheins
Zitat:

Zitat von MichaelLinden
geht nicht auch folgendes?

Ja klar - ist ja beides Mal ein Cast nach TImage.

Unterschied ist halt, neben einem minimalen Zeitunterschied, die nettere Fehlermeldung falls der sender mal kein TImage ist ;)

Tut mir echt leid, aber ich kenn mich noch nicht all zu gut aus... cast ist (sender) oder wie ?

Und was macht das? muss man da nicht selber was eintragen?

und wie gesagt... ist das nicht fast das selbe als schreib ich
OpCa1.BringToFront

OpCa2.BringToFront

OpCa3.BringToFront

OpCa4.BringToFront

OpCa5.BringToFront

OpCa6.BringToFront
ect.

jfheins 17. Dez 2009 17:23

Re: Image während der Laufzeit eine Ebene nach hinten Stufen
 
Hast du mein Edit gelesen?

der sender ist die Komponente, die das Ereignis ausgelöst hat.

Und ein Cast ist einen Typenumwandlung. Da sender nur TObject ist, musst du casten um die Funktion aufrufen zu können.

Fussel9 17. Dez 2009 17:38

Re: Image während der Laufzeit eine Ebene nach hinten Stufen
 
Danke :)

Funktioniert jetzt alles --> :dp:


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