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

MFC Discussion :

Copie de la selection d'un CListbox d'un dlg1modal vers le CListBox d'un dlg2modal


Sujet :

MFC

  1. #1
    Membre confirmé
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Mars 2006
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique

    Informations forums :
    Inscription : Mars 2006
    Messages : 71
    Par défaut Copie de la selection d'un CListbox d'un dlg1modal vers le CListBox d'un dlg2modal
    Bonjour

    J'ai lu la rubrique de farscape:

    Comment accéder aux contrôles d’une boîte de dialogue à partir d’une autre boîte de dialogue ?

    Et je n'arrive pas à l'adapter à ma situation

    Je souhaite copier la selection du listbox d'une dlg1 modal en appuyant sur le bouton ajouter à ma liste et l'insérer dans le listbox d'une dlg2 modal non ouverte à ce moment.

    Je sais: - insérer des string dans un CListBox GetDialogItem ....insertstring...
    - récupérer la selection avec GetSel...

    Je pense que j'ai un probléme car la dialogue 2 s'initialise et vide son listbox à son ouverture. je voulais passer par une variable global mais cela ne fonctionne pas.

    Si vous avez un exemple ou même une idée

    Merci

  2. #2
    mat.M
    Invité(e)
    Par défaut
    CDlg1 dlg;
    int valeurQuelconque;
    dlg.VariableQuelconque=valeurQuelconque;
    // gerer dlg::VariableQuelconque dans OnInitDialog de dlg
    dlg.DoModal();
    // gerer dlg::VariableQuelconque dans OnOk de dlg

    valeurQuelconque=dlg.VariableQuelconque;


    Pas plus compliqué que cela;

  3. #3
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    salut,
    regarde le poste suivant:
    http://c.developpez.com/faq/vc/?page...ControlForward
    rien ne t'empeche de recuperer sous forme de string la ligne selectionnée dans la premiere dialogue d'affecter cette string a une autre faisant partie de la dialogue 2 et de faire la selection dans OnInitDialog..

  4. #4
    Membre confirmé
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Mars 2006
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique

    Informations forums :
    Inscription : Mars 2006
    Messages : 71
    Par défaut
    Merci pour vos Réponses

    J'ai essayé de faire comme tu dis Farscape mais je ne parviens pas à avoir une variable accessible par les deux dialogues

    J'ai oublié de précisé, je suis débutant avec Vc++ (que du c à mon actif )

    InfoRepere.cpp

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    CString strRef,strRefTrans;
     
    void CInfoRepere::OnSelchangeRef() 
    {
    	int index;
     
        index = m_ctlRef.GetCurSel();
     
        m_ctlRef.GetText(index,strRef);	
    }
    void CInfoRepere::OnVerserqt() 
    {
    	strRefTrans = strRef;
    	OnOK();
    }
    CLISTEUSER.cpp

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    BOOL CLISTEUSER::OnInitDialog() 
    {
    	CListBox* pLB = (CListBox*)GetDlgItem(IDC_LISTU1);
    	pLB->InsertString(-1,strReftrans);
    	return CDialog::OnInitDialog();              
    }
    Le probléme c'est que strRefTrans n'est pas accéssible dans
    CLISTEUSER.cpp

    Le reste fonctionne

    error C2065: 'strReftrans' : undeclared identifier

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

Discussions similaires

  1. [XL-2010] Copie Shape sans Select
    Par insosama dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 15/04/2014, 06h17
  2. [AC-2010] Copie d'une selection d'un champ texte vers un nouvel enregistrement
    Par wrdaniel dans le forum VBA Access
    Réponses: 4
    Dernier message: 27/03/2013, 15h18
  3. copie d'une selection filtrée sur une autre feuille
    Par biboulou dans le forum Excel
    Réponses: 2
    Dernier message: 15/08/2011, 15h44
  4. [XL-2007] copie d'une selection de cellules non vides
    Par gabi75 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 02/06/2010, 15h49
  5. [VBA] Copy d'une selection dans Word
    Par marsupoilu dans le forum VBA Word
    Réponses: 1
    Dernier message: 04/07/2006, 09h27

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