![]() |
MDI-Child restlos minimieren
Hallo Leute,
hab mal ne komplexe Frage: Ich soll mit einem Freund ein kleines Verkaufsprog schreiben mit Stammdaten (Kunden, Artikel) und einer Rechnungsmaske, evtl. später auch einige statistische Auswertungen. Ich hatte mir gedacht, MDI zu verwenden, damit man auch beim Rechnungsschreiben einen fehlenden Artikel erfassen kann. Allerdings gefällt mir da nicht, dass für minimierte MDI-Children noch die Kopfzeile angezeigt wird. Lieber würde ich diese unterdrücken und die Children selbst z.B. in einem Menü verwalten. Daher Frage 1: Wie kann ich auf die Anzeige der Kopfzeile beim Minimieren der MDI-Children verzichten bzw. sie unterdrücken? Zweiter Punkt: Mein Freund und ich sind räumlich getrennt. Ich werde daher nicht immer aktuelle Sourcecodes von ihm haben. Deshalb habe ich gedacht, dass jeder seine ProgBereiche (MDI-Child) in eine DLL speichert. Im MainForm müssten ich dann nur mit Create das MDI-ChildForm erzeugen. Frage 2: Wäre das so mit DLLs machbar oder habt ihr noch eine andere Idee? |
Re: MDI-Child restlos minimieren
Zitat:
Zitat:
Mit Packages kann dies vermieden werden. Aber auch Packages machen u.U. Schwierigkeiten. Vorallem dann, wenn sich in einer Unit im Packages im Abschnitt Interface etwas ändert muss die Anwendung neu kompiliert werden. Mit einer Versionsverwaltung ( ![]() |
Re: MDI-Child restlos minimieren
Zitat:
Zitat:
|
Wirklich keine Möglichkeit?
Tja, also visible geht nicht, DLLs und packages sind auch nicht vorteilhaft. Sieht wie ein unlösbares Problem aus :wall: . Nur wie machen das die professionellen Entwickler bei großen Progs? Die haben doch auch nicht 1000 Fenster offen.
Wäre es evtl. möglich WM_NCHITTEST abzufangen, auf Minimieren zu prüfen und mittels SetWindowPos das Fenster verschwinden zu lassen? :coder2: |
Re: MDI-Child restlos minimieren
Das geht, indem das MDI-Child zerstört wird (Close) Allerdings musst Du in der CloseQuery die Action manuell auf caFree stellen, da bei MDI-Children grundsätzlich caMinimize reingeschrieben wird.
Beim Menüaufruf des entsprechenden Childs musst Du dann immer ein neues erstellen. Dabei aber darauf achten, daß nur eine Instanz generiert wird (im Handler vom Menüpunkt schauen, ob das entsprechende Child schon in der MDI-Children Liste enthalten ist und wenn ja nur ein Show machen). Zum Thema Quellen: Schau Dir mal die GExperts an, die haben ein, wenn auch rudimentäres, Versionsverwaltungsprogramm dabei. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:31 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