![]() |
TImages Orginazieren
Hi,
Ich habe in einem meiner Programme so um die dreißig schon im Form erstellten TImages. Diese werden hin und wieder mit unterschiedlichen Bildern "gefüllt". Mein Problem ist jetzt: Wie ändere ich die Reihenfolge* (in der "Tiefe") der TImages? *d.h. Ein TImage ist "vor" oder "hinter" einen anderen... |
Re: TImages Orginazieren
kannst Du da nicht mit
Image1.bringToFront Image1.SentToBack Image1.show oder Image1.hide arbeiten? Grüße Klaus |
Re: TImages Orginazieren
Kommt drauf am was die Befehle die du gennant hast bewirken...
Image1.bringToFront Image1.SentToBack die hören sich vielversprechen an - ich probier sie mal heute Abend aus. Dann sage ich ob es funzt oder net. :???: |
Re: TImages Orginazieren
Korrektur: SendToBack;
|
Re: TImages Orginazieren
ich habe das gleiche Problem!
Image1.bringToFront Image1.SentToBack bewirken nur, dass das Image-Feld ganz nach hinten oder ganz nach vorne gesetzt wird... Wenn ich aber jetzt mehrere Image-Felder habe, die sich überlagern, dann würde ich gerne die Reihenfolge bestimmen können (wer was überdeckt)! Gibt es da vielleicht Funktionen, die die Komponente eine Ebene nach vorne/hinten verschiebt? |
Re: TImages Orginazieren
Nein. Dazu gibt es keine Funktion, da musst du selbst dran.
Du musst die Images der Reihe nach, also nach deiner Sortierung durch gehen und diese Nachvorn setzen. |
Re: TImages Orginazieren
Hallo,
leider haben die VCL-Macher keinen direkten Aufruf der entsprechenden Routine vorgesehen. Mit einem nicht ganz OOP-konformen Zugriff auf die protected Methode SetChildOrder geht es so:
Delphi-Quellcode:
Ein positiver Indexwert gibt die k-te Position von oben an; das oberste Element ist also an Position 1.
type
TWinControlShadow = class (TWinControl); procedure SetControlIndex (aControl: TControl; aIndex: Integer); begin with TWinControlShadow(aControl.Parent) do if (aIndex > 0) then SetChildOrder (aControl, ControlCount - aIndex) else if (aIndex < 0) then SetChildOrder (aControl, -aIndex - 1); end; Ein negativer Indexwert kennzeichnet die k-te Position von unten; das unterste Element ist also an Position -1. Gruß Hawkeye |
Re: TImages Orginazieren
Danke für die Antwort!
Es hat wohl funktioniert. Wieso ist die Methode denn nicht OOP-konform? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:49 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz