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++/CLI Discussion :

[C++/CLI] Mdi


Sujet :

C++/CLI

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    16
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 16
    Par d�faut [C++/CLI] Mdi
    Bonjour a tous!

    voila, je debute sous Visual Studio .net express.

    je cherche a faire une application MDI.

    j'ai cr�e une Form1 sur laquelle j'ai precis� que c'etait un MDI container. J'ai ensuite cr�e une Form2, qui sera l'enfant.

    ce que je souhaite faire c'est que la form2 s'affiche lorsque je clique sur un element de mon menu, mais je ne sait pas comment faire.
    Faut-il preciser a Form1 que Form2 est un enfant ? si oui, ou ?

    Deuxieme petite question, un parent peut-il avoir plusieurs enfant ? et comment faire pour les declarer en tant que tel!

    Merci d'avance !

    Laurie.

  2. #2
    Expert confirm�
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    D�tails du profil
    Informations personnelles :
    �ge : 65
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    16
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 16
    Par d�faut
    Merci �a m' a �t� tr�s utile !


    maintenant j'ai un autre probleme:


    comment acceder a une methode de la fiche parent a partir de la fiche enfant ?

    Merci !


    Laurie.

  4. #4
    Expert confirm�
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    D�tails du profil
    Informations personnelles :
    �ge : 65
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Par d�faut
    Cela depend du niveau d'accessibilit� de la m�thode en question
    • * si elle est d�clar�e public: aucun souci tu disposes dans ta Form fille de la propri�t� MDIParent qui te donne acc�s au parent MDI en cours
      * sinon il te faudra :
      [list:84437562ec] - soit creer dans le Parent un accesseur public � cette m�thode
      - soit peut �tre externaliser cette m�thode comme static dans une classe m�tier si ton architecture s'en trouve am�lior�e
    [/list:u:84437562ec]

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    16
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 16
    Par d�faut
    en fait le probleme vient du fait que MDIparent est une instance de la classe System::Windows::Forms::Form et non de ma Form personnalis�e.

    donc je n'ai pas acc�s a mes methodes personnelles et c'est �a qui m'embete.

    j'ai bien essayer d'effectuer un cast sur MDIparent, mais il ne veut pas, me disant qu'il ne connait pas Form1 (la classe de ma fiche parente) ...

    donc je ne voit vraiment pas comment faire ... merci pour ton aide en tout cas neguib !


    Laurie.

  6. #6
    Expert confirm�
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    D�tails du profil
    Informations personnelles :
    �ge : 65
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Par d�faut
    Citation Envoy� par schizette
    en fait le probleme vient du fait que MDIparent est une instance de la classe System::Windows::Forms::Form et non de ma Form personnalis�e.
    Ben l� je ne te suis plus, c'est quoi cette form personnalis�e alors elle sert � quoi ?. Etait elle destin�e au depart � �tre la MDIParent je ne comprends pas du tout la construction de ton projet
    Essayes d'�tre plus �clairant stp je ne suis ni � ta place ni dans ta t�te

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    16
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 16
    Par d�faut
    ok je vais essayer d'etre plus explicative


    j'ai une Form1 qui est une classe deriv�e de System::Windows::Form


    declar�e comme ceci

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    public ref class Form1 : public System::Windows::Forms::Form
    {
     
    // code ...
    //fonction destinée a etre appellée depuis la fiche fille
     
       public: void removechild(int _btnnb);
     
    //code ...
     
    }
    donc je veux appeller depuis ma feuille fille la methode publique "removechild", j'ai besoin de cette methode, car elle ne fait pas qu'enlever la fiche fille, elle efface egalement un bouton qui est sur un panel de la feuille parent.

    donc dans la feuille fille, je veux appeller

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    MDIParent->removechild(numfeuille);
    et le probleme c'est que la methode "removechild" n'appartient pas a System::Windows::Forms::Form, mais a Form1 ...

    et il est apparement pas possible de caster MDIParent en "Form1"


    voila j'espere que j'ai �t� claire

    Laurie.

  8. #8
    Expert confirm�
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    D�tails du profil
    Informations personnelles :
    �ge : 65
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Par d�faut
    Citation Envoy� par schizette
    ...
    et il est apparement pas possible de caster MDIParent en "Form1".
    oui Laurie je comprends mieux maintenant, j'ai une solution de rechange mais avant si tu veux bien, je voudrais verifier comment tu as tent� le transtypage

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    16
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 16
    Par d�faut
    d'acccord alors je fait

    ((Form1^)(this->MdiParent))->removechild(mynum)
    mais pour faire �a il faut que j'inclue form1.h


    mais ce n'est pas possible vu que la feuille fille est incluse dans Form1!


    voila !


    Laurie.

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    16
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 16
    Par d�faut
    je fait remonter le sujet car je galere toujours ...



    neguib n'avait tu pas une solution de remplacement a me fournir s'il te plait

    c'est important, sans �a je n'ariverai jamais a terminer mon projet


    Milles Merci d'avance


    Laurie.

  11. #11
    Expert confirm�
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    D�tails du profil
    Informations personnelles :
    �ge : 65
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Par d�faut
    Ben la solution de rechange est assez banale
    Pense � prevoir un constructeur dans la Form enfant avec une surcharge qui re�oit en param�tre l'instance de la Form Parent, ayant pr�alablement d�clar� au niveau de ta classe une variable du type de ta Form Parent, tu lui assigne le param�tre dans le constructeur.
    Voil� maintenant la Form enfant accede � tout ce que bon lui semble de l'instance de la Form Parent
    Bien s�r n'oublies pas d'utiliser cette surcharge lors de l'instanciation de la Form enfant par la Form parent en lui passant this

  12. #12
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    16
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 16
    Par d�faut
    Merci je suis vraiment idiote par moment !!!



    enfin r�solu, je vais pouvoir avancer !


    Encore merci et a bientot pour un nouveau probleme je le pr�ssent

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [C++/CLI] => Application MDI avec enfants ?
    Par MaTHieU_ dans le forum C++/CLI
    R�ponses: 3
    Dernier message: 22/02/2006, 08h43
  2. utiliser les tag [MFC] [Win32] [.NET] [C++/CLI]
    Par hiko-seijuro dans le forum Visual C++
    R�ponses: 8
    Dernier message: 08/06/2005, 15h57
  3. MDI sans MFC, possible ?
    Par delire8 dans le forum MFC
    R�ponses: 4
    Dernier message: 17/06/2002, 07h38
  4. pb fen�tre MDI
    Par d�d� dans le forum C++Builder
    R�ponses: 7
    Dernier message: 08/06/2002, 18h41
  5. enregistrer dans un fichier avec une appli mdi
    Par ferrari dans le forum C++Builder
    R�ponses: 4
    Dernier message: 05/05/2002, 15h17

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