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/)
-   -   DockTabSet Erfahrung? (https://www.delphipraxis.net/185856-docktabset-erfahrung.html)

Whookie 12. Jul 2015 16:47


DockTabSet Erfahrung?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ich habe gerade einwenig mit DockTabSet experimentiert und bin - neben eher bescheidener Dokumentation - auf einige Probleme gestoßen und wollte mal fragen, ob jemand diese Komponente erfolgreich einsetzt?

An zwei Dingen hänge ich momentan:
1.
Zwei übereinander links gedockte Fenster werden über den Pin "eingeklappt", wenn man sie nun wieder verankert (über den Pin) sind sie nebeneinander und nicht mehr übereinander. Gibts eine Möglichkeit das verhalten beim wieder verankern zu bestimmen?

2.
Wenn ich beim Programmstart eine bestimmte Anordnung herstellen möchte (später mal die zuletzt eingestellte, momanten einfach zwei Fenster links übereinander angedockt und verankert), dann funktioniert das nicht wenn ich die Fenster vor dem ManualDock nicht sichtbar mache, dadurch "blitzen" sie aber am Bildschirm auf. Docke ich sie mit Visible auf False, dann wird das Fenster einfach so eingefügt als hätte ich den Parent auf das Panel gesetzt...

Die Experimente basieren auf dem Beispiel von Jeremy North. Leider gibt es seinen QC-Client nicht mehr als download um da mal nachzusehen.



Edit: Da das ganze im Zuge einer Umstellung in einem größeren Projekt auftritt habe ich hier ein kleines Beispiel zusammengestellt (Docking an der rechten Seite ist nicht komplett impl.).

Funktionen:
  • Über "Create Docking Client" kann ein entspr. Fenster erzeugt werden das dann vornehmlich links oder mittig angedockt werden kann (rechts geht auch, aber die Vorschau funktioniert in dem Beispiel nicht).
  • "Show hidden forms" erfüllt momentan keinen echten Zweck
  • Über "Load v2" werden 4 Clients erzeugt und angedockt (2 links übereinander, 2 rechts übereinander). Das funktioniert, abgesehen davon, dass die 4 Clients kurz aufblitzen (manchmal so kurz das man es nicht sieht). Ich habe im Beispiel DocClient.Position auf poDesigned gestellt, damit man sich auf die linke, obere Ecke des Bildschirms konzentrieren kann. Bei mehreren Starts ist der Effekt aber deutlich sichtbar, mit Skin (Carbon bzw. Light) habe ich das Gefühl das es häufiger Auftritt als ohne. (habe Windows und Light gleichzeitig drin und schalte dann immer mal um).
  • Über "Load v1" werden die selben Fenster erzeugt, aber erst sichtbar gemacht nachdem sie gedockt wurden.
    Hier ist das verhalten davon abhängig, wie die "DocClient.Position" gesetzt ist(!!).
    Ist sie auf poDesigned (für Load v2) haben die Clients eine Caption liegen aber nun nebenneinander.
    Stellt man Position um auf "poDefaultPosOnly", erscheinen meist nur 2 der 4 Fenster und haben keine Caption. Vergrößert man dann das Hauptfenster (in der Höhe) erscheinen plötzlich alle 4 Fenster und haben wieder ihre Caption, sind aber links übereinander und rechts nebeneinander angeordnet. Letzteres habe ich eigentlich erst im Zuge dieses Beispiels bemerkt vorher hatte ich immer "poDefaultPosOnly" eingestellt.
  • Mit "Load v2" neu starten und dann in Client "0:.." und "1:.." die beiden "pins" klicken. Beide Fenster liegen nun versteckt im DockTabSet. Nun jedes wieder ausklappen und den "Pin" klicken. Die Fenster liegen nun nebeneinander statt übereinander.

blawen 12. Jul 2015 18:07

AW: DockTabSet Erfahrung?
 
Zitat:

Zitat von Whookie (Beitrag 1308470)
Die Experimente basieren auf dem Beispiel von Jeremy North. Leider gibt es seinen QC-Client nicht mehr als download um da mal nachzusehen.

Die Struktur sollte m.W. noch die gleiche sein, nur hostet dies nicht mehr Borland, sondern Embarcadero.
Das Beispiel sollte hier zu finden sein

Whookie 12. Jul 2015 18:50

AW: DockTabSet Erfahrung?
 
Danke für den Link aber das ist nur der Code zum Beispiel im Artikel (das habe ich auch so problemlos nachgebaut). Ich dachte eher an alternativen QC-Client, sofern der auch als Sourcecode zur Verfügung gestanden hat(!).

CarlAshnikov 13. Jul 2015 06:56

AW: DockTabSet Erfahrung?
 
Moin,

ich habe damit auch ein wenig herumgespielt, erfolgreich eingesetzt wäre etwas übertrieben.

Punkt 1:

Das Verhalten habe ich angepasst indem ich dem Panel DockDrop und UnDock Events zugewiesen habe. In meinem Fall habe ich dafür gesorgt, dass jeweils nur 1 Fenster darauf sichtbar ist und das vorher angepinte abgedockt wird. So könntest du auch das Align der Fenster beeinflussen.

Punkt 2:

Ich habe auch die Erfahrung gemacht, dass man die Fenster vor dem andocken sichtbar machen muss. :?

Uwe Raabe 13. Jul 2015 08:01

AW: DockTabSet Erfahrung?
 
Kannst du das Projekt mal hochladen?

Whookie 13. Jul 2015 10:34

AW: DockTabSet Erfahrung?
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1308516)
Kannst du das Projekt mal hochladen?

Habe ein kleines eigenständiges Projekt daraus gemacht und es an den ersten Post gehängt. Docking rechts ist nur grundlegend vorhanden, Experimente sind großteils an der linken Seite passiert.


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