Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   TCustomControl-Maße abhängig von Left (https://www.delphipraxis.net/180107-tcustomcontrol-masse-abhaengig-von-left.html)

sintronic86 23. Apr 2014 14:42

TCustomControl-Maße abhängig von Left
 
Hallo Community, schon wieder muss ich eine Frage stellen.

Leider ist mein Titel nicht sehr aussagekräftig, aber ich wusste auch nicht, wie ich das in einen kurzen Satz hätte bringen können.

Es geht um Folgendes:
Ich habe ein TPanel("Panel_Anzeige"), auf diesem werden viele TCustomControls(im Folgenden nur "CC" genannt) gelegt, die alle nebeneinander angeordnet sind (ohne Align).
Wenn ich nun eines dieser CCs mittels Maus bewege, dann bewegen sich auch die anderen CCs mit. So weit, so gut.
Nun möchte ich eigentlich gerne, das die CCs, je nachdem, wie weit sie vom Rand des Panels_Anzeige weg sind, größer bzw. kleiner werden.


Hat einer von euch etwas derartiges schon versucht oder gar erfolgreich absolviert????? :?

stahli 23. Apr 2014 14:52

AW: TCustomControl-Maße abhängig von Left
 
Ich denke mal, das wirst Du genauer beschreiben müssen...

Hilft das vielleicht schon etwas?
Delphi-Quellcode:
CC[I].Width := 100 + Round(CC[I].Left * 1.25);

sintronic86 23. Apr 2014 15:02

AW: TCustomControl-Maße abhängig von Left
 
Liste der Anhänge anzeigen (Anzahl: 1)
Wow! Super schnelle Antwort.


Ich poste mal mein Projekt. Dort ist denke ich zu sehen, was ich meine.
Es klappt ja schon in etwa. Aber es sieht noch echt "peep" aus....

stahli 24. Apr 2014 13:56

AW: TCustomControl-Maße abhängig von Left
 
Ich habe leider keinen FB installiert.
Kannst Du mal 2-3 Screenshots (oder ein ganz kurzes Screen-Video) hochladen - das reicht ja vielleicht auch schon zum Verständnis...

sintronic86 24. Apr 2014 14:15

AW: TCustomControl-Maße abhängig von Left
 
Liste der Anhänge anzeigen (Anzahl: 1)
Habe ein kleines Video gemacht. Ich hoffe man sieht, was ich meine!

stahli 24. Apr 2014 14:23

AW: TCustomControl-Maße abhängig von Left
 
Ist eigentlich ganz lustig. :thumb:
Optimierungsmöglichkeiten fallen mir auf die Schnelle nicht so ein.
FMX hat ja eine ähnliche Komponente. Ich weiß aber nicht, wie die das im Detail macht.
An was mich das auch ein wenig erinnert, ist die Toolbar hier oben rechts in der DP.

Aber konkrete Vorschläge habe ich leider nicht...

sintronic86 24. Apr 2014 14:27

AW: TCustomControl-Maße abhängig von Left
 
Ja, so ähnlich war das auch gedacht. Wie man ja sehen kann, will ich die Filme per Maus über den Bildschirm ziehen können.
Das schwierige daran ist:
- CC soll kleiner werden, wenn es sich dem linken oder rechten Rand nähert
- trotzdem sollen alle CCs immer direkt aneinander liegen
- wenn das Ende der Filme erreicht ist, soll, je nachdem an welchem Ende man sich befindet, der erste bzw. der letzte Film in die Mitte springen

Ich habe alle diese Sachen EINZELN schon hinbekommen. Aber leider nicht alle geleichzeitig.

stahli 24. Apr 2014 14:44

AW: TCustomControl-Maße abhängig von Left
 
Vorschlag:

Berechne die Positionen ausgehend von der Mitte (max. Größe) nach links und rechts erst mal virtuell mit TRect´s.
Das geht fix und übersichtlich.
Erst wenn das erledigt ist, kannst Du dann die Größe und Position der echten CC´s (incl. einem X-Offset) real zuweisen.

So habe ich das bei meiner Flow-Komponente auch gemacht.
http://www.delphipraxis.net/117765-k...llboxflow.html

So kann man erst mal virtuell herum rechnen und zurecht schieben und übernimmt erst zum Schluß das Endergebnis in den sichtbaren Teil.

Insgesamt könnte sich die Berechnung dadurch vereinfachen bzw. übersichtlicher gestalten lassen.


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