Einzelnen Beitrag anzeigen

Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.343 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Delphi Auf Komponente in zur Laufzeit festgelegtem Frame zugreifen

  Alt 17. Mai 2013, 14:14
Das Thema und die Optionen sind komplex und vielfältig...

Frames (oder eingebettete Formulare) sind gut und nützlich, wenn Du Controls kombinieren und mit einer einheitlichen GUI-Logik belegen willst.
So kannst Du das Frame (oder den Block) bei Bedarf erzeugen (ggf. auch mehrfach) und in Dein Projekt einsetzen (wie eine große Komponente).

Für Deinen Zweck erscheinen mir Frames nicht das optimale Mittel.
Offenbar willst Du von einer Menge Komponenten mal diese und mal jene aktivieren.
Insofern müsstest Du Deine cbMenge ggf. in mehrere Frame plazieren und (immer wieder gleich) behandeln.

Insofern wäre es evtl. zweckmäßiger, Blöcke von Controls auf eigene Panels zu legen, diese mit alTop auszurichten und je nach aktueller Situation deren Größe auf 0 zu ändern. Das würe sie entsprechend "ausblenden".
Im Panel.Tag könntest Du die aktuelle Höhe speichern und wenn das Panel wieder sichtbar werden soll, diese wieder herstellen.
Das Ganze dann über eine Funktion realisieren ShowPanel(PanelX, SichtbarkeitX); entsprechend nacheinander für alle Bereiche.

Zumindest wäre das evtl. eine Überlegung wert. Letztlich musst Du da einschätzen, wieviele Varianten möglich sind und wie das Ganze sich dann darstellen soll.

Frames wären auf jeden Fall zu bevorzugen, wenn die Einheiten mehrfach im Projekt verwendet würden oder eine sehr komplexe, situationsabhängige GUI-Logik nötig wäre.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat