![]() |
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. |
AW: Komponente in IDE verankern
Bearbeiten|Elemente fixiereen
|
AW: Komponente in IDE verankern
Das fixiert aber alle Elemente - auch die Buttons, die verschoben werden sollen. Siehe hier:
Zitat:
|
AW: Komponente in IDE verankern
Vielleicht hilft ein alClient-Alignment beim Image.
|
AW: Komponente in IDE verankern
Vielen Dank für die schnellen Antworten.
Zitat:
Zitat:
|
AW: Komponente in IDE verankern
Zitat:
|
AW: Komponente in IDE verankern
Zitat:
Vielen Dank! |
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. |
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.
|
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. |
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