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 :

Intégrer une winforms dans une winforms


Sujet :

C++/CLI

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2010
    Messages
    382
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2010
    Messages : 382
    Par défaut Intégrer une winforms dans une winforms
    Bonjour,
    Dans un projet Visual C++ Windows Forms, comment je peux intégrer une winforms dans une autre winforms

    Merci d'avance

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    243
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 243
    Par défaut
    Citation Envoyé par 3aychoucha Voir le message
    Bonjour,
    Dans un projet Visual C++ Windows Forms, comment je peux intégrer une winforms dans une autre winforms

    Merci d'avance
    Si tu utilises Visual C++, c'est très simple :

    1- tu cliques sur le menu Projet-> ajouter un nouvel élément ->Windows form

    et tu nommes ta nouvelle form Form2 par exemple ...

    Ensuite dans ta form1 tu rajoutes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    #pragma once
    #include "Form2.h"
    Et là où tu veux ouvrir ta forme tu crées une instance de Form2 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Form2 ^ma_forme2 = gcnew Form2();
    puis tu ouvres ta forme avec :
    Bon courage ..

  3. #3
    Membre éclairé
    Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2010
    Messages
    382
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2010
    Messages : 382
    Par défaut
    Merci jlg_47 pour votre réponse mais ce n'est pas exactement ce que je veux,
    Dans votre code la form2 s'affiche librement, moi je veux qu'elle s'affiche à l'intérieur de la form1 càd encastrée dedans

    Merci d'avance

  4. #4
    Inactif  

    Homme Profil pro
    Ingénieur test de performance
    Inscrit en
    Décembre 2003
    Messages
    1 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur test de performance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 986
    Par défaut
    Bonjour.

    Si c'est pour un système MDI, un début ici : http://msdn.microsoft.com/fr-fr/libr...8VS.80%29.aspx

    Sinon faire un contrôle personnalisé qui s'ajoute à la boîte à outils.

  5. #5
    Membre éclairé
    Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2010
    Messages
    382
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2010
    Messages : 382
    Par défaut
    Merci pour le lien mais le langage C++ n'est pas pris en considération
    Je ne veux pas vraiment un contexte MDI, et pour votre proposition
    un contrôle personnalisé qui s'ajoute à la boîte à outils
    je n'est vraiment aucune idée
    ce que je veux est le suivant:
    j'ai un form1 dans lequel j'ai un bouton
    Si je clique sur ce bouton ma form2 s'affiche dans une partie de ma form1

    Merci d'avance

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    243
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 243
    Par défaut
    Citation Envoyé par 3aychoucha Voir le message
    Merci jlg_47 pour votre réponse mais ce n'est pas exactement ce que je veux,
    Dans votre code la form2 s'affiche librement, moi je veux qu'elle s'affiche à l'intérieur de la form1 càd encastrée dedans

    Merci d'avance
    Avec la méthode que j'ai indiquée vous pouvez très bien choisir l'endroit où la forme s'affiche.

    Dans les variables nécessaire au concepteur vous déclarez :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    static Form2 ^ma_forme2 = gcnew Form2();
    Cela permet de créer une seule instance statique de la forme.

    Ensuite quand vous avez besoin de la forme, vous faites :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ma_forme2->Left=25;
    ma_forme2->Top=30;
    ma_forme2->Show(this);
    Left indique la position en x en pixels
    Top indique la position en y en pixels
    Ici j'ai mis 25 et 30 ... à vous de mettre ce que vous souhaitez.

    Quand vous n'avez plus besoin de la forme, vous faites:

    Sinon comme a dit Moldavi vous pouvez aussi créer un contrôle utilisateur et l'intégrer à la Winforms ...
    Pour cela allez à Projet->ajouter un nouvel élément->UI->Contrôle utilisateur

    Vous créez le contrôle conformément à ce que vous souhaitez ...
    Il faut alors fermer Visual et l'ouvrir à nouveau et vous trouverez votre nouveau contrôle dans la liste des contrôles et vous pourrez alors l'ajouter à la Fom1 comme un contrôle standard ..

    Ensuite il suffit de jouer sur la propriété Visible pour le rendre visible ou invisible

    Bon courage

  7. #7
    Membre éclairé
    Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2010
    Messages
    382
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2010
    Messages : 382
    Par défaut
    Merci jlg_47 pour votre explication
    J'ai résolu le problème avec le splitContainer et j'ai ajouté la propriété
    et voici le code complet
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    MaWinForms::WF1 ^wf1 = gcnew WF1();
    wf1->TopLevel = false;
    this->splitContainer->Panel2->Controls->Add(wf1);
    wf1->Show();
    Bien sûre, il na faut pas oublier
    ça n'empêche que j'ai apprécier l'idée des userControl

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

Discussions similaires

  1. [XL-2007] Afficher une checkbox dans une feuille si une checkbox d'une autre feuille est cochée
    Par JessieCoutas dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 18/08/2009, 13h35
  2. portée d'une variable dans une fonction dans une méthode
    Par laurentg2003 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 29/06/2009, 19h05
  3. [POO] dans une classe, appeler une fonction dans une méthode
    Par arnaudperfect dans le forum Langage
    Réponses: 3
    Dernier message: 26/08/2007, 23h04
  4. Envoyer une formulaire dans une page dans une Frame
    Par zooffy dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 29/06/2007, 10h13
  5. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 13h48

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