MDIChild unsichtbar?



  • Hallo,

    ich will einige MDIChild-Formulare in einem MDIForm anzeigen lassen. Da ich nicht immer alle anzeigen will, suche ich nach einer Möglichkeit, bei Bedarf jedes MDIChild auch ausblenden zu können. Wenn ich das versuche bekomm ich nur immer die Meldung "Ein MDI-Kindformular kann nicht verborgen werden".

    Was kann ich tun, damit das klappt?

    Danke,
    Mipe



  • Windows neu programmieren, oder Dir deine eigenen Fensterklassen programmieren;-)

    Das geht einfach nicht - bedank dich bei Billy Boy.

    Sobald Du eine Instanz eines MDIChilds erstellst, wird es autom. sichtbar. Deine
    einzigste Möglichkeit ist es die Fenster erst dann manuell zu instanzieren, wenn
    Du sie auch wirklich brauchst und sehen möchtest:

    TfrmAccounts * frmAccounts = new TfrmAccounts();
    


  • Hi,
    Du kannst das ganze (vielleicht) umgehen, indem Du die Fenster-FormStyles
    bei Bedarf verbiegst..
    z.B.
    FormStammdaten->FormStyle = fsStayOnTop;
    danach kannst Du visible auf false setzen....
    wenn Dus wieder brauchst anderschtherum...

    Nicht schön, aber sonst ist mir auch nichts besseres eingefallen..

    🙂
    Ciao
    Wilfrid



  • Windows neu programmieren, oder Dir deine eigenen Fensterklassen programmieren;-)
    Das geht einfach nicht - bedank dich bei Billy Boy.

    Stimmt nicht. Funktioniert ganz normal mit ShowWindow(Handle, SW_HIDE);, allerdings hab ich das mit einem WinAPI Programm ausprobiert. Liegt wohl an der VCL 🙄



  • .... ein MDI-Child zu verbergen ohne es zu schliessen ist sowieso nicht sinn er Sache... Wenn du dir die MDI-Anwendungen ansiehst wird da nirgends ein MDI-Child verborgen... die MDI-Formulare sind nur die Anzeigeelemente für ein geöffnetes Dokument oder ähnliches. Ansonsten werden Dialoge verwendet.

    -junix


Anmelden zum Antworten