Einzelnen Beitrag anzeigen

Whookie

Registriert seit: 3. Mai 2006
Ort: Graz
445 Beiträge
 
Delphi 10.3 Rio
 
#1

DockTabSet Erfahrung?

  Alt 12. Jul 2015, 17:47
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.
Angehängte Dateien
Dateityp: 7z Dock2Tests.7z (58,4 KB, 6x aufgerufen)
Whookie

Software isn't released ... it is allowed to escape!

Geändert von Whookie (13. Jul 2015 um 12:02 Uhr)
  Mit Zitat antworten Zitat