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 :

[Débutant] copier l'élément sélectionne d'une liste a une autre


Sujet :

MFC

  1. #1
    Membre du Club Avatar de gabule
    Inscrit en
    Avril 2006
    Messages
    139
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Avril 2006
    Messages : 139
    Points : 45
    Points
    45
    Par défaut [Débutant] copier l'élément sélectionne d'une liste a une autre
    Bonjour,
    j'ai 2 ClistBox (une a droite et une a gauche) et un bouton.
    Je veux que quand je clic sur le bouton, ca me copie les elements selectionnés de la liste de gauche vers celle de droite.

    J'ai mis dans l'evenement du clic du bt :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    void CChooseZoneDialog::OnBnClickedButton2()
    {
    	m_listZonesSelect.AddString((LPSTR)m_listZones.GetSelItems ??
    }
    Mais je psais pas trop comment proceder et quoi mettre
    Pourriez vous m'aider.
    Merci

  2. #2
    Membre confirmé Avatar de toxcct
    Développeur informatique
    Inscrit en
    Juillet 2006
    Messages
    434
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 434
    Points : 511
    Points
    511
    Par défaut
    il faut que tu fasse pour chaque item selectionné une copie vers l'autre liste, puis un remove item si tu veux qu'il disparraisse de la liste de départ.

  3. #3
    Membre du Club Avatar de gabule
    Inscrit en
    Avril 2006
    Messages
    139
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Avril 2006
    Messages : 139
    Points : 45
    Points
    45
    Par défaut
    ok merci. J'ai fait ca mais ca craque

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    void CChooseZoneDialog::OnBnClickedButton2()
    {
    	int i =0;
    	while(i != m_listZones.GetSelCount()){
    		m_listZonesSelect.AddString((LPSTR)m_listZones.GetSel(i));
    		i++;
    	}
    }

  4. #4
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 46
    Points : 47
    Points
    47
    Par défaut
    Il s'agit là de code MFC. Il y a un forum dédié.

  5. #5
    Membre confirmé Avatar de toxcct
    Développeur informatique
    Inscrit en
    Juillet 2006
    Messages
    434
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 434
    Points : 511
    Points
    511
    Par défaut
    @pyrrhon, on est sur le forum MFC

    @gabule, je ne suis pas devin, et je n'ai pas de compilo sous la main... tu recois une erreur, ou ca ne fait juste pas ce que tu veux ?

  6. #6
    Membre du Club Avatar de gabule
    Inscrit en
    Avril 2006
    Messages
    139
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Avril 2006
    Messages : 139
    Points : 45
    Points
    45
    Par défaut
    c'est parce que je suis pas sur de la syntaxe.
    ca passe a la compil mais quand je clic sur le bouton ca me fait "acces violation reading

    et ca va dans wincore.cpp et ca me montre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    LRESULT CWnd::DefWindowProc(UINT nMsg, WPARAM wParam, LPARAM lParam)
    {
    	if (m_pfnSuper != NULL)
    		return ::CallWindowProc(m_pfnSuper, m_hWnd, nMsg, wParam, lParam);

  7. #7
    Membre confirmé Avatar de toxcct
    Développeur informatique
    Inscrit en
    Juillet 2006
    Messages
    434
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 434
    Points : 511
    Points
    511
    Par défaut
    ouais, mais ce n'est pas parce que ca rentre la dedans que ca dédouane ton code de toute faute

    je n'ai pas trop le temps d'investiguer, mais a mon avis, tu as un depassement de capacité (genre, tu lis au dela du dernier element selectionné)...

    essaye de débugger ton code avec un point d'arret et du pas a pas pour vérifier ce qui se passe.

  8. #8
    Membre du Club Avatar de gabule
    Inscrit en
    Avril 2006
    Messages
    139
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Avril 2006
    Messages : 139
    Points : 45
    Points
    45
    Par défaut
    Voila la solution Merci

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
     
    /***************************************************
    * By G@BuLe
    ***************************************************/
    void CChooseZoneDialog::OnBnClickedButton1()
    {
     
    	// on initialise
    	CString szResult;
    	int numberSelected = m_listZones.GetSelCount(); // nbre d'elts selectionnées
    	int n;
     
    	if (numberSelected > 0) // si il y en a
    	{ 
    		int *selIndex = new int[numberSelected];
    		m_listZones.GetSelItems( numberSelected, selIndex );
     
     
    		for (int i=0;i < numberSelected;i++)
    		{
     
    			// on recupere
    			n = m_listZones.GetTextLen( i );
    			m_listZones.GetText( selIndex[i], szResult.GetBuffer(n) );
    			szResult.ReleaseBuffer();
     
    			// on ajoute a la 2eme liste
    			m_listZonesSelect.AddString(szResult);
    		}
    		delete selIndex;
     
    	}
    }

  9. #9
    Membre confirmé Avatar de toxcct
    Développeur informatique
    Inscrit en
    Juillet 2006
    Messages
    434
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 434
    Points : 511
    Points
    511
    Par défaut
    bon, alors, maitnenant que ca marche, je te propose ce que moi j'aurais fait (encore une fois, pas de compilo, donc il se peut que mon code soit approximatif) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    void CChooseZoneDialog::OnBnClickedButton1()
    {
        while (POSITION pos = m_listZones.GetFirstSelectedItemPosition()) {
            INT_PTR nItem = m_listZones.GetNextSelectedItem(pos);
            CString s;
            m_listZone.GetText(nItem, s);
            m_listZonesSelect.AddString(s);
            m_listZone.DeleteItem(nItem);
        }
    }
    facile non ?

  10. #10
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 46
    Points : 47
    Points
    47
    Par défaut
    Citation Envoyé par toxcct
    @pyrrhon, on est sur le forum MFC
    Oui désolé, le post a été déplacé. C'était juste un message à caractère informatif destiné aux modérateurs

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 04/04/2011, 11h46
  2. Réponses: 4
    Dernier message: 25/03/2009, 17h19
  3. [débutant] Comment gérer une liste dans une liste
    Par Lenoiche dans le forum iReport
    Réponses: 0
    Dernier message: 16/07/2008, 10h41
  4. champ d'une liste lié à une liste dans un autre site
    Par guintolli dans le forum SharePoint
    Réponses: 8
    Dernier message: 08/07/2008, 14h51
  5. [Débutant] copier l'élément sélectionner dans une liste
    Par Henry9 dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 29/04/2007, 21h49

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