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 :

Comment dupliquer un container?


Sujet :

C++/CLI

  1. #1
    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 Comment dupliquer un container?
    Bonjour,

    Je fais une interface graphique avec un container dans lequel se trouvent des boutons, des curseurs, une image, des menus d�roulants ...

    Je voudrais avoir 4 containers identiques dispos�s c�te � c�te ...

    Comment faire?

    L'id�al serait de cr�er un objet correspondant au container et de faire 4 instances de l'objet ...

    Mais comment fait on cela en C++/CLI ?

    Si quelqu'un peut me donner un tuyau, ce serait sympa.

    Je rajoute un exemple :

    Voila le genre de fen�tre que j'ai:



    Je voudrais faire �a :



    Je peux copier-coller 4 fois, mais ce n'est pas tr�s propre de programmer 4 fois la m�me chose.

    Il doit bien y avoir un moyen de cr�er un objet correspondant au groupe et de faire 4 instances de l'objet.

    Je ne trouve aucun exemple, pourtant cela doit �tre courant.

    Bonne journ�e
    Jean-Louis

  2. #2
    R�dacteur/Mod�rateur
    Avatar de JolyLoic
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Ao�t 2004
    Messages
    5 463
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 51
    Localisation : France, Yvelines (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Ao�t 2004
    Messages : 5 463
    Par d�faut
    Il semble que tu utilises la technologie winforms pour faire ton IHM. Il existe le moyen d'ajouter � ton projet un "custom control" qui te permettra de faire ce que tu souhaite.
    Ma session aux Microsoft TechDays 2013 : D�velopper en natif avec C++11.
    Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
    Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage � la d�couverte d'un nouveau monde
    Je donne des formations au C++ en entreprise, n'h�sitez pas � me contacter.

  3. #3
    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 JolyLoic Voir le message
    Il semble que tu utilises la technologie winforms pour faire ton IHM. Il existe le moyen d'ajouter � ton projet un "custom control" qui te permettra de faire ce que tu souhaite.

    Merci JolyLoic,

    Oui, tout � fait j'utilise les winforms, c'est bien pratique pour un ignorant comme moi.

    Tu dis bien que �a existe mais o� trouver comment cr�er un "custom control" et l'ajouter � la boite � outils?



    J'utilise la version gratuite Visual Express ... Peut-�tre ne permet elle pas de le faire.

    Bonne journ�e et merci.

  4. #4
    Expert confirm�
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    F�vrier 2005
    Messages
    5 507
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 53
    Localisation : France, Val de Marne (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : F�vrier 2005
    Messages : 5 507
    Par d�faut
    Il suffit d'ajouter un objet de type "controle" � votre projet, exactement comme vous ajoutez une nouvelle classe � votre projet.

  5. #5
    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 bacelar Voir le message
    Il suffit d'ajouter un objet de type "controle" � votre projet, exactement comme vous ajoutez une nouvelle classe � votre projet.
    Merci, apparemment Visual C++/CLI 2008 Express ne le propose pas



    Bonne journ�e

    Jean-Louis

  6. #6
    Expert confirm�
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    F�vrier 2005
    Messages
    5 507
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 53
    Localisation : France, Val de Marne (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : F�vrier 2005
    Messages : 5 507
    Par d�faut
    Peut-�tre une limitation de VS2005 Express.
    Avez-vous v�rifi� avec la version VS2010 Express ?

  7. #7
    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 bacelar Voir le message
    Peut-�tre une limitation de VS2005 Express.
    Avez-vous v�rifi� avec la version VS2010 Express ?
    Je viens de l'installer et c'est la m�me chose :




    Par contre j'ai trouv� une version compl�te de Visual 2008 utilisable 90 jours et l� c'est autre chose :



    Bonne journ�e.

  8. #8
    R�dacteur/Mod�rateur
    Avatar de JolyLoic
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Ao�t 2004
    Messages
    5 463
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 51
    Localisation : France, Yvelines (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Ao�t 2004
    Messages : 5 463
    Par d�faut
    Citation Envoy� par jlg_47 Voir le message
    Je viens de l'installer et c'est la m�me chose :

    En effet, en C++, les winforms sont plut�t limit�s...

    Est-ce que tu as le choix de technos ? Si je demande, c'est parce que winforms, c'est une technologie .NET, et non pas C++, et m�me si le C++/CLI permet de les utiliser, je ne trouve pas �a hyper pratique. Il est souvent plus int�ressant :
    - Soit de faire du pur .NET, en utilisant par exemple C#, et avec les winforms (en perte de vitesse) ou wpf (plus puissant, mais un peu plus long a ma�triser)
    - Soit de faire du pur C++, en utilisant une biblioth�que C++, comme Qt.
    Ma session aux Microsoft TechDays 2013 : D�velopper en natif avec C++11.
    Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
    Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage � la d�couverte d'un nouveau monde
    Je donne des formations au C++ en entreprise, n'h�sitez pas � me contacter.

  9. #9
    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
    Merci JolyLoic,

    Et oui, j'ai le choix ... Je fais �a pour le fun

    J'ai pris C++/CLI parce que �a s'appelle C++

    Le C# , je ne sais pas ce que c'est ...

    Mais je vais peut-�tre y passer parce qu'avec Visual on trouve beaucoup d'exemples en C#

    Bonne journ�e

  10. #10
    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
    Bonjour � tous,

    Je reviens sur ce sujet parce que je suis trop nullos pour trouver tout seul

    J'ai cr�� une Winforms standard avec Visual C++ Express ...
    l'IDE m'ouvre Form1.h

    Ensuite je fais "ajouter au projet" et j'ajoute un "Contr�le Utilisateur" puisque la version de Visual que j'utilise maintenant me le propose.

    voici la fen�tre :




    Et maintenant l'IDE m'ouvre une fen�tre dans laquelle je peux placer des outils de la boite � outils ... Cela me para�t bien parti



    Je rajoute donc mes petits contr�les ultra simples (c'est un test!), juste une GroupBox, une TextBox et 2 boutons ... jusque l� tout va bien



    Je compile et Visual me dit :

    ========== R�g�n�ration globale*: 1 a r�ussi, 0 a �chou�, 0 a �t� ignor� ==========
    Jusque l� tout va bien

    Ouf ! j'ai trouv� comment le rajouter � la boite � outils ...

    On fait "Outils", puis s "Options", puis "Concepteur Windows Forms" et "General" et on a une belle fen�tre sur laquelle on met "true" pour l'option "AutoTollboxPopulate",



    Puis on ferme Visual et on ouvre � nouveau ... Et on a son contr�le utilisateur dans la Toolbox ...

    Dans mon contr�le, j'ai rajout� le bout de code suivant pour les boutons :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    private:  System::Void mon_control::mon_Bouton_Click(System::Object ^sender, System::EventArgs ^e)
        {
    		int i;        
    		Button^ b = safe_cast<Button^>(sender);
    		i = b->TabIndex;
    		if (i < 16) Ouvrir_vanne (i);
    		else Fermer_vanne (i);
         }
    Le concepteur de forme ne bronche pas et de ce c�t� tout se passe bien.

    Mais quand je compile, le compilateur me dit :

    'Ouvrir_vanne'*: identificateur introuvable
    'Fermer_vanne'*: identificateur introuvable
    Ces deux fonctions sont d�finies dans Form1.h

    C'est s�rement tout b�te ... cela fait des heures que je gal�re et je ne vois pas ...

    Bonne journ�e

  11. #11
    Expert confirm�
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    F�vrier 2005
    Messages
    5 507
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 53
    Localisation : France, Val de Marne (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : F�vrier 2005
    Messages : 5 507
    Par d�faut
    L�, c'est plus un probl�me de POO (Programmation Orient� Objet) que de C++/CLI.

    Si "Ouvrir_vanne" et "Fermer_vanne" sont dans le fichier "Form1.h", c'est que c'est des m�thodes de Form1 et non du contr�le.

    Pour que le contr�le soit r�utilisable, il ne doit pas d�pendre des WinForms qui l'inclus.
    Le plus simple est que votre contr�le d�clare un �v�nement "ChangementEtatVanne" sur lequel votre formulaire s'abonnera.
    Lorsque les actions de l'utilisateur devront g�n�rer ce changement d'�tat, le contr�le g�n�rera cet �v�nement.

    http://msdn.microsoft.com/en-us/libr...2s(VS.80).aspx

    Le code du delegate de votre WinForm, abonn� � cet �v�nement, sera libre d'appeler "Ouvrir_vanne" et "Fermer_vanne", car il fera partie de votre Winform.

  12. #12
    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
    Bonjour Bacelar,

    On discute du m�me sujet sur deux fils diff�rents

    Vu que j'ai r�solu la question "Comment cr�er un Contr�le Utilisateur", j'ai mis "R�solu" et j'ai ouvert l'autre fil "Comment appeler une fonction � partir du Contr�le Utilisateur"

    VOIR ICI

    Je ne comprends pas bien le m�canisme du delegate et de l'event ...
    Enfin disons que je comprends le m�canisme, mais je bloque sur l'impl�mentation.

    Comme je dis sur l'autre fil, j'essaie de faire un truc tout c..

    Un Contr�le Utilisateur avec un seul bouton qui doit �crire "Bonjour" dans une Textbox de la Form.

    Et je n'y arrive pas

    Bonne journ�e
    Jean-Louis

  13. #13
    Expert confirm�
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    F�vrier 2005
    Messages
    5 507
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 53
    Localisation : France, Val de Marne (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : F�vrier 2005
    Messages : 5 507
    Par d�faut
    Encore d�sol� pour cet �norme retard,

    J'ai post� sur le fil suivant http://www.developpez.net/forums/d99...r/#post5593562 (Post #20)

    une solution VS2010 qui utilisedes User Control.

    Un Contr�le Utilisateur avec un seul bouton qui doit �crire "Bonjour" dans une Textbox de la Form.
    Ce n'est pas comme cela qu'il faut r�sonner, mais :
    un Contr�le Utilisateur notifie � qui veut bien l'�couter qu'un �v�nement particulier s'est produit.
    Dans notre cas, c'est une action/d�cision de l'utilisateur qui ce fait par l'utilisation d'un clic sur un bouton, mais tout autre proc�d� d'interaction, comme des raccourcis claviers ou des commandes vocales feront l'affaire.
    La Form s'est abonn� � l'�v�nement particulier du contr�le et fait les modifications dans SES contr�les (ceux de la Form) qui correspond � l'�v�nement associ� � l'action/d�cision de l'utilisateur.

    Ce n'est pas le Contr�le Utilisateur qui �crit "Bonjour" dans une Textbox de la Form, mais la Form qui d�cide de r�agir � un �v�nement particulier en �crivant "Bonjour" dans l'une de SES Textbox.

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

Discussions similaires

  1. Comment dupliquer table Oracle vers SQLserver ?
    Par ag007 dans le forum Acc�s aux donn�es
    R�ponses: 3
    Dernier message: 08/09/2006, 17h26
  2. [MySQL] Comment dupliquer des pages dynamique
    Par Cel'ic dans le forum PHP & Base de donn�es
    R�ponses: 6
    Dernier message: 04/06/2006, 14h52
  3. Comment dupliquer un enregistrement
    Par steeves5 dans le forum Access
    R�ponses: 1
    Dernier message: 16/05/2006, 18h52
  4. Comment dupliquer un enregistrement via le code ?
    Par massol joel dans le forum Access
    R�ponses: 2
    Dernier message: 11/11/2005, 19h01
  5. comment utiliser le CONTAINS ???
    Par zarbiman dans le forum Langage SQL
    R�ponses: 1
    Dernier message: 10/10/2005, 18h33

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