Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Komponente in IDE verankern (https://www.delphipraxis.net/216948-komponente-ide-verankern.html)

Matthias. 27. Mär 2025 10:52

Komponente in IDE verankern
 
Hallo zusammen,

gibt es eine Möglichkeit z.B. ein TImage an einer Position in der IDE zu "verankern" ?

Folgender Hintergrund:
Es wird z.B. ein TImage als Hinergrund verwendet auf dem sich mehrere Buttons befinden.
Beim Verschieben eines Buttons kommt es gelegentlich vor, dass das Hintergrundbild anstatt des Buttons erwischt wird und sich dadurch alles verschiebt.
Daher wäre es schön, wenn es die Möglichkeit geben würde per Rechtsklick oder ähnliches auf eine Komponente "Dock" und "Undock".

Vielen Dank.

Stolle58 27. Mär 2025 12:24

AW: Komponente in IDE verankern
 
Bearbeiten|Elemente fixiereen

Uwe Raabe 27. Mär 2025 14:02

AW: Komponente in IDE verankern
 
Das fixiert aber alle Elemente - auch die Buttons, die verschoben werden sollen. Siehe hier:
Zitat:

Zitat von Matthias. (Beitrag 1547527)
Beim Verschieben eines Buttons...


mkinzler 27. Mär 2025 14:04

AW: Komponente in IDE verankern
 
Vielleicht hilft ein alClient-Alignment beim Image.

Matthias. 27. Mär 2025 14:22

AW: Komponente in IDE verankern
 
Vielen Dank für die schnellen Antworten.

Zitat:

Zitat von Stolle58 (Beitrag 1547533)
Bearbeiten|Elemente fixiereen

Genau wie Uwe schon sagt werden alle Elemente fixiert, daher eher ungeeignet.

Zitat:

Zitat von mkinzler (Beitrag 1547545)
Vielleicht hilft ein alClient-Alignment beim Image.

Das würde prinzipiell funktionieren, jedoch muss dann mein Image selber so groß sein wie die Form und um das Bild zu verschieben müsste dann das eigentliche Bild im Image verschoben werden.

Uwe Raabe 27. Mär 2025 14:42

AW: Komponente in IDE verankern
 
Zitat:

Zitat von Matthias. (Beitrag 1547547)
Das würde prinzipiell funktionieren, jedoch muss dann mein Image selber so groß sein wie die Form und um das Bild zu verschieben müsste dann das eigentliche Bild im Image verschoben werden.

Dann setz bei dem Image das AlignWithMargins auf True und positioniere das dann über die Margins-Werte.

Matthias. 27. Mär 2025 15:13

AW: Komponente in IDE verankern
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1547548)
Zitat:

Zitat von Matthias. (Beitrag 1547547)
Das würde prinzipiell funktionieren, jedoch muss dann mein Image selber so groß sein wie die Form und um das Bild zu verschieben müsste dann das eigentliche Bild im Image verschoben werden.

Dann setz bei dem Image das AlignWithMargins auf True und positioniere das dann über die Margins-Werte.

Wunderbar.
Vielen Dank!

Gausi 27. Mär 2025 15:17

AW: Komponente in IDE verankern
 
Das hilft zwar nicht direkt bei dem Problem, aber ggf. wäre es eine Überlegung wert, das Zeichnen des Hintergrundbildes nicht über ein TImage zu erledigen, sondern über eine passende eigene Komponente. Für meinen Player nutze ich z.B. eine eigene Ableitung von TPanel, die beim Zeichnen ein Event abfeuert, in dem die Form ein Bitmap und ein Offset festlegen kann, und die Option "kacheln". Diese Daten werden dann in der eigentlichen Paint-Methode verwendet.

Über passende Offsets kann ich dann auch Panels verschachteln (das braucht man ja immer wieder mal), die sich ein gemeinsames Hintergrundbild teilen, auch über Formulargrenzen hinweg.

dummzeuch 27. Mär 2025 17:06

AW: Komponente in IDE verankern
 
Eine weitere Möglichkeit wäre, das Image mit alClient auf einem Panel zu platzieren und das Panel dann passend zu positionieren (und BevelOuter = bvNone zu setzen). Dann kann man das Image nicht mehr aus versehen verschieben, da es ja mit alClient fix das komplette Panel verdeckt. Und da das Panel hinter dem Image liegt, kann man auch das Panel nicht mehr aus versehen verschieben, weil man es ja nicht mehr anklicken kann.

Harry Stahl 27. Mär 2025 17:39

AW: Komponente in IDE verankern
 
Vermutlich geht es um ein VCL-Projekt. Da geht das leider nicht.

Für FMX-Projekte gibt es für jede Komponente die Eigenschaft "Locked".

Ist diese (über den Objekt-Inspektor) gesetzt, kann die Komponente nicht mehr mit der Maus verschoben werden (allerdings im Objekt-Inspektor könnten die Positions-Werte dennoch verändert werden).


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:21 Uhr.
Seite 1 von 2  1 2      

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