![]() |
Re: MDI oder was...?
Hallo Hepdepaddel,
falls Du Frames aus irgendeinem Grund nicht magst oder dir beim Panel-Ansatz die visuelle Repräsentation irgendwie "fehlt", kannst Du auch JvEmbeddedFormPanel und JvEmbeddedFormLink aus der JVCL nehmen. Ein JvEmbeddedFormPanel auf das Hauptform, je ein JvEmbeddedFormLink auf alle Unterformulare. Zur Laufzeit dann im Hauptformular der JvEmbeddedFormPanel.FormLink Eigenschaft die entsprechende JvEmbeddedFormLink-Komponente zuweisen:
Delphi-Quellcode:
Anschließend muss je nach Aufbau von Form2 vielleicht noch das ein oder andere Repaint aufgerufen werden, da es sonst mit der Bildschirmdarstellung etwas hapert (Artefakte).
JvEmbeddedFormPanel1.FormLink := Form2.JvEmbeddedFormLink1;
Viele Grüße Timo |
Re: MDI oder was...?
Hi,
nach längerer Zeit - ich habe mit den genannten Optionen etwas herumgespielt - eine Rückmeldung. Eigentlich wollte ich vermeiden, wieder eine Drittkomponente einzusetzen. Bisher habe ich die LMD-Tools benutzt, die verwende ich aber fast nur noch wegen der Form-Komponente, die wie ein Panel auf ein Form gesetzt werden kann und sehr leicht an anderes TForm-Objekt in sich darstellen kann. Ich hatte gehofft, das irgendwie auch anders darstellen zu können, separate Forms wären mir eben lieber... Nun werde ich aber wohl auch das aktuelle Projekt mit den LMD-Tools anfangen, es ist nur ein Quick&Dirty-Prototyp, den ich bei Kundeninteresse wohl in ein/zwei Monaten sowieso mal auf eine saubere Grundlage stellen muss. Vielleicht sind dann Frames wirklich das Mittel der Wahl, wobei fehlende "OnCreate/OnShow" etc. das ganze irgendwie nicht sexy machen... Danke & Viele Grüße Hepdepaddel |
Re: MDI oder was...?
Ich kann die Nachteile von MDI immer noch nicht so richtig nachempfinden.
Worin bestehen denn nun diese? Ich setze in einem großen Projekt MDI Formulare ein und habe keinerlei Probleme damit. Im Gegenteil. Für Menüs setze ich TMSADVToolbar ein. Ein Handler im Hauptprogramm verwaltet mir die Formulare. Hier öffne ich ein Formular und gebe als Parameter an, ob dies ein normales , ein modales oder ein MDI Form ist. Dem Aufrufprogramm teile ich mit, ob das MDI Formular neu geöffnet werden kann oder ob ein bereits vorhandenes Formular wieder aktiviert werden soll. Der Handler vermerkt die Position des Formulars und stellt diese beim erneuten Öffnen wieder her. Wie soll ich anderst eine Funktion lösen, das beispielsweise zusätzlich zum Bearbeitungsformular noch eine Kundenauswahl und Artikelauswahl geöffnet und wahlfrei angeordnet werden kann? Gruß Peter |
Re: MDI oder was...?
Ich verstehe das auch nicht. Und ich verstehe auch nicht, was in XP grauenhaft aussieht. Ich habe mir letztens ne MDI für Win95 runtergeladen. Das sah auf XP total gut aus (abgesehen von den Toolbar Icons, die sahen sehr alt aus).
Ich bleibe auf jeden Fall bei MDI. |
Re: MDI oder was...?
Zitat:
Delphi-Quellcode:
Grundvoraussetzung ist natürlich das Form2 schon existiert.
Form2.Panel.Parent := HauptForm.Panel;
Gruss Uwe |
Re: MDI oder was...?
Hm...
Delphi-Quellcode:
Also auf dem Hauptform habe ich ein Panel... soweit OK. Ich hätte da eher sowas erwartet
Form2.Panel.Parent := HauptForm.Panel;
Delphi-Quellcode:
Wenn ich Deinen Code lese, würde ich vermuten, dass irgendein Panel auf dem Form2 nun eben dem Form1 zugeordnet wird... was ich suchte, war sowas (Achtung: Block-Art)
Form2.Parent:=Hauptform.Panel;
Delphi-Quellcode:
Dennoch Danke für Dein Posting - ich habe das Form2.Parent:=Form1.Panel einfach mal ausprobiert. Lustiger Effekt, man kann dann tatsächlich das neue Form2 im Panel sehen - sogar mit Titelleiste und allem drum und dran - auch Verschieben ist möglich. Mit BorderStyle "none" und Top/Left:=0 sowie einer Anpassung von Breite und Höhe an die Abmessungen des Panels im OnResize des Panels beginnt das ganze gute Formen anzunehmen! Danke also, das Posting hat mich auf den richtigen Weg gebracht!
+----------------------------------------------------+
| Hauptform | | | | +--------------------------------------+ | | | | | | | | FORM 2 (mit visuellen und nicht- | | | visuellen Komponenten | | | | | | | +-------------+--------------------------------------+ Viele Grüße Hepdepaddel |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:41 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz