IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++Builder Discussion :

comment rendre invisible une FormStyle->fsMDIchild


Sujet :

C++Builder

  1. #1
    Candidat au Club
    Inscrit en
    Mai 2003
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 2
    Points : 2
    Points
    2
    Par défaut comment rendre invisible une FormStyle->fsMDIchild
    Pour que toutes mes form se reduisent en meme temps que ma form generale, je les aient déclarées en fsMDIchild, mais maintenant elle aparaisent toutes en meme temps lors du demarrage de l'application.
    De plus il est impossible de les rendre "Visible = false" !!!!!
    Comment faire ??????

    J'ai pensé a créer un destructeur por chaque form au demarrage, et ensuite inserer un constructeur au moment souhaité... Mais ca me semble bien compliqué, je suis sur qu il y a plus facile.

  2. #2
    Membre chevronné
    Avatar de Gilles Louïse
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    421
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2002
    Messages : 421
    Points : 1 911
    Points
    1 911
    Par défaut Re: comment rendre invisible une FormStyle->fsMDIchild
    Citation Envoyé par caluloa
    Pour que toutes mes form se reduisent en meme temps que ma form generale, je les aient déclarées en fsMDIchild
    Si vous déclarez toutes vos formes en fsNormal y compris la forme générale, elles se réduiront bien toutes en même temps que votre forme générale, vous n'avez donc pas besoin de les déclarer en fsMDIChild car effectivement on ne peut pas cacher une fenêtre de ce type.

    À bientôt
    Gilles

  3. #3
    Membre habitué
    Inscrit en
    Mars 2002
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 105
    Points : 133
    Points
    133
    Par défaut
    Bonjour,

    Pour compléter la réponse de Gilles Louïse, si tu veux absolument utiliser des fiches enfant MDI, on ne peut effectivement pas faire
    pour une fiche enfant MDI.

    Cependant, on peut tout de même passer par les méthodes de l'API Windows pour la rendre invisible :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ShowWindow ( HandleDeLaFiche, SW_HIDE);
    Et pour la rendre à nouveau visible :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ShowWindow ( HandleDeLaFiche, SW_SHOW);
    En espérant que cela réponde à ton problème...
    Nicolas

  4. #4
    Membre chevronné
    Avatar de Gilles Louïse
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    421
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2002
    Messages : 421
    Points : 1 911
    Points
    1 911
    Par défaut
    Ça marche effectivement très bien, c'est bon à savoir. On se demande vraiment pourquoi on ne peut pas mettre la propriété Visible à false d'une fenêtre fsMDIChild, c'est une contrainte qui me paraît inexplicable.

    Merci et à bientôt
    Gilles

  5. #5
    Membre régulier
    Profil pro
    Architecte logiciel
    Inscrit en
    Octobre 2002
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Architecte logiciel

    Informations forums :
    Inscription : Octobre 2002
    Messages : 64
    Points : 88
    Points
    88
    Par défaut
    salut,

    une autre façon d'empecher tes fenetres fsMIDIChild de s'afficher automatiquement
    au demarrage de ton application est de les créés dynamiquement dans ton code mais il faudrait auparavant que tu aille dans options dans le menu projet de BCB ,dans l'onglet Forms tu enlève tes forms MIDI de la liste des forms créé automatiquement vers la liste des fiches créés dynamiquement.
    Pour afficher ta MIDI form tu n'aura qu'a faire

    MaFenetreFille= new TMaFenetreFille(this);
    MaFenetreFille->Show();


    ne pas oublier d'ajouter cette instruction dans l'evenement OnClose de la form pour liberé ta form.

    Action=caFree;

    A+.
    THE KING

  6. #6
    Candidat au Club
    Inscrit en
    Mai 2003
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Merci, ca ma enormement depanné...
    Gilles ma dit de declarer les fenetre en fsNormal, là, c'est pas terrible du tout car les fenetres affichées peuvent passer en arriéres plan (dans ce cas il y a fsStayOnTop), mais c'est pareil, ok ca marche pour les reduction, mais pour les deplacement c'est la cata, il y a des fenetres de tout les cotés....
    La methode du king me convient donc a perfection.
    Merci encore a tout les 2...

    Bon developpement...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 9
    Dernier message: 19/02/2008, 17h50
  2. Comment rendre invisible une colonne de datagridview
    Par frederix quest dans le forum Windows Forms
    Réponses: 7
    Dernier message: 21/05/2007, 18h12
  3. Réponses: 6
    Dernier message: 11/02/2005, 21h38
  4. Réponses: 10
    Dernier message: 19/05/2004, 15h44
  5. Comment rendre invisible un TTabbedNotebook.Pages ?
    Par Chonchon dans le forum Composants VCL
    Réponses: 2
    Dernier message: 14/04/2004, 20h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo