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/)
-   -   Delphi Docking und Menus realisieren (TDockToolBar...???) (https://www.delphipraxis.net/30016-docking-und-menus-realisieren-tdocktoolbar.html)

mischerr 18. Sep 2004 13:44


Docking und Menus realisieren (TDockToolBar...???)
 
Ich möchte für ein Programm ein Menü realisieren, wie es auch die Delphi IDE einsetzt. Sprich:

- Ein Menu dass man aus dem "Hauptmenü" herausziehen und als ToolWindow auf dem Desktop ablegen kann
- Ein ToolWindow, dem ich weitere Funktionen via Drag&Drop hinzufügen kann (so wie es z.B. der OI macht)

Ich hab noch keinen Schimmer, wie ich das mit dem Menu lösen soll.

Mit WinSight hab ich mir nun mal die Delphi-IDE angeschaut und scheinbar existiert dort folgende Hierarchie:

AppBuilder
|- TControlBar
| |- TDockToolBar(s)
| |- TDockPanel
...

OI (TXToolDockForm)
|- TTabDockHostForm
| |- TTabDockPageControl(s)
...

Kann mir jemand einen Tip geben wie ich ein o.g. Verhalten realisieren kann?

Nachtrag: Das Delphi Docking-Demo geht in die Richtung, hat jedoch Bugs im Handling des Fenster (spielt mal mit dem TabSheet rum - ziehen - wenn 2 Fenster in einem angedockt sind). Dann wird das Fenster geschlossen und hat beim nächsten mal leere TabSheets drin, mit identischen Captions, aber die doppelten sind ohne Inhalt. Das Handling der Menus ist auch nicht so toll. Ein Herausziehen aus den Fangbereich ist nicht möglich. Dies tritt zumindest bei D6 auf. Falls eine D7 ein besseres, bereinigtes Demo enthält, würde ich mich über Info freuen.

mischerr 21. Sep 2004 17:10

Re: Docking und Menus realisieren (TDockToolBar...???)
 
Für die, die's interessiert:

Hab IMHO das Problem in der Borland-Demo (D5, D6, andere Versionen unbekannt) gefunden:
In der PageControl gedockte Elemente die wiederum gezogen und auf selbigem PageControl abgelegt werden werden akzeptiert.

Lösung:
Prüfung, ob der Parent des anzudockenden Elements einem TTabSheet des Ziel-PageControl entspricht und diesen sodann nicht akzeptieren.

Gruss, Michael


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