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/)
-   -   Docking und MDI (https://www.delphipraxis.net/116843-docking-und-mdi.html)

Phoenix 7. Jul 2008 15:59


Docking und MDI
 
:hi: Hi *.*

Info vorneweg: Zusätzliche externe Komponenten (auch die Jedis) sind für das aktuelle Projekt leider ein No-Go, und auch auf MDI können wir unmöglich verzichten. Vorschläge in dieser Richtung werden also geflissentlich überlesen. Also bitte die potentiellen Antworten vorher auf diese zwei Punkte abprüfen. Ich hab zwar ein wenig Einfluss auf den Kunden, aber an den zwei Punkten erschöpft sich dieser.

So, und nun zum Problem: Ich habe mich an diesen Artikel gehalten, um ein Fenster Dockbar zu machen. Sinn ist es eigentlich (so ähnlich wie in der IDE), rechts neben dem MDI-Hauptarbeitsbereich eine Leiste zu haben, in der Toolwindows angedockt werden können, damit diese neben einem maximierten MDI-Fenster im Hauptbereich weiter zu sehen sind.

Anscheinend scheint das ganze aber leider nicht so 100% mit MDI-Forms zu funktionieren. Ich bekomme ständig zur Laufzeit Fehlermeldungen. Zum einen mal beim Andocken, dass ein MDI-Child nicht versteckt werden könnte. Das glaub ich dem ja auch. Nur stelle ich dann den FormStyle auf fsNormal, so erhalte ich beim Docken die Meldung, dass ein verstecktes Formular den Focus nicht erhalten kann.

Das liegt möglicherweise daran, eine nicht änderbare Vorfahrklasse des Formulars (ich kann weder die Vorfahrklasse ändern, noch von einer anderen Klasse ableiten, das lässt das eingesetzte Framework leider nicht zu) in .Show kurzzeitig wieder auf MDIChild umstellt bevor ich nach dem Inherited vom Show wieder auf fsNormal umschalten kann.

Also: How To Do it the MDI-Way? ;-)

Phoenix 8. Jul 2008 15:02

Re: Docking und MDI
 
*vorsichtighochschieb* :duck:

Jaja, ich weiss... es sind nur 23 Stunden... erschlagt mich deswegen bitte nicht...

shmia 8. Jul 2008 16:36

Re: Docking und MDI
 
Also bei Delphi 5 und 7 ist doch unter $(delphi)\Demos\Docking ein Projekt dazu.
(das übrigens einige Ähnlichkeiten zu dem Artikel hat - ist es aus der gleichen Feder ?)
Es ist allerdings keine MDI-Anwendung.
Man ( also du ) könnte versuchen das Projekt so umschreiben, dass nur die Toolsbars an- und abgedockt werden können
und die Childfenster sich ganz normal im MDI-Fenster tummeln.

Phoenix 9. Jul 2008 07:08

Re: Docking und MDI
 
Mal gucken ob ich heut dazu komme. Gestern hab ich mich leider den ganzen tag mit LDAP rumschlagen dürfen und heute gehts da auch noch ein klein wenig weiter.

Phoenix 10. Jul 2008 12:48

Re: Docking und MDI
 
Zitat:

Zitat von shmia
Also bei Delphi 5 und 7 ist doch unter $(delphi)\Demos\Docking ein Projekt dazu.
(das übrigens einige Ähnlichkeiten zu dem Artikel hat - ist es aus der gleichen Feder ?)
Es ist allerdings keine MDI-Anwendung.

So. Jetzt aber.
1.) Japp, das ist keine MDI-Anwendung.
Umstellen auf MDI funktioniert so gar nicht. Schon beim ersten Andockversuch knallt es nur so mit Exceptions.

2.) Die Demo benutzt das TDockTabSet nicht.

Ich stehe also immer noch vor dem gleichen Problem: Wie bekomme ich das Docking innerhalb von MDI-Anwendungen hin?

DeddyH 10. Jul 2008 12:50

Re: Docking und MDI
 
@Sebastian: trägt das angesprochene Framework zufällig den Namen einer bekannten Giftschlange?

Phoenix 10. Jul 2008 13:14

Re: Docking und MDI
 
Ja. Aber nur rein zufällig ;-)

DeddyH 10. Jul 2008 13:23

Re: Docking und MDI
 
Sie haben Post :zwinker:


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