Grundsätzlich ist dieser Beitrag ein Resultat aus einem
ältern Posting von mir, in dem es um die Darstellung der Fenstersymbole in der Menüleiste eines
MDI-Hauptformulars ging. Dieses Problem habe ich gelöst (ganz ohne eigene Klasse) und ich kann nun mehrere
MDI-Hauptformulare mit eigenen Childs verwenden.
Offen ist die Handhabung des Fenstermenüs. Child-Windows erscheinen nur im Standard-Hauptformular im "Fenstermenü", nicht aber in einem weiteren. Anscheinend sollte das aber automatisch durch
WM_MDISETMENU geschehen, was über TCustomForm.RefreshMDIMenu erfolgt aber scheinbar keine Auswirkung hat.
Kann die
WinApi das nun grundsätzlich nur für ein Fenster oder habe ich da noch was übersehen (prinzipiell könnte ich das Menü ja selber auch verwalten aber wenn Windows das schon kann wäre es natürlich besser das der
API zu überlassen)?
Als Anhang und für alle die das eventuell auch brauchen können mal eine kleine Demo (die
MDI-Hauptformular Zuordnung erfolgt übrigens durch einfaches überschreiben von CreateWindowHandle() im jeweiligen Child)