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 :

Recuperation d'un champ de CListCtrl en double click


Sujet :

MFC

  1. #1
    Membre confirmé
    Inscrit en
    Décembre 2006
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 116
    Par défaut Recuperation d'un champ de CListCtrl en double click
    Bonjour a tous,
    J'ai récupérer les données de la base en utilisant CListCtrl.
    Comment on peut récupérer les données d'une ligne en double click sur la ligne que je veux.
    Merci d'avance.

  2. #2
    Membre éprouvé Avatar de bobmidou
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2008
    Messages : 121
    Par défaut
    salut

    Crée l'évenement VM_DBLCLK de ton CListCtrl et rentre ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    UpdateData(true);
    int nSelected = m_listCtrl.GetSelectionMark();
    CString strText = m_listCtrl.GetItemText(nSelected, 0);
    UpdateData(false);
    m_listCtrl est une variable membre CListCtrl
    quand tu double-cliques tu réccupere l'élément choisi dans une chaine CString strText

    le 0 indique la séléction de premier Item et ,1 un sous-item etc...

    Bonne chance

  3. #3
    Membre confirmé
    Inscrit en
    Décembre 2006
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 116
    Par défaut
    Merci, mais le double click il ne marche pas.
    J'ai une ListCtrl dans une boite de dialogue.
    m_ListCtrl est la fonction membre. J'ai la fonction NM_DBLCLK et non pas VM_DBLCLK. Voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    void CConsulterProduit::OnDblclkLISTProduit(NMHDR* pNMHDR, LRESULT* pResult) 
    {
    	// TODO: Add your control notification handler code here
    	UpdateData(true);
        int nSelected = m_ListCtrl.GetSelectionMark();
        CString strText = m_ListCtrl.GetItemText(nSelected, 0);
        UpdateData(false);
    	*pResult = 0;
    }
    Est-ce-que on ne doit pas initialiser NMHDR et c'est quoi *pResult=0.
    Merci d'avance.

  4. #4
    Membre éprouvé Avatar de bobmidou
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2008
    Messages : 121
    Par défaut
    salut

    oui c'est NM_DBLCLK je me suis trempé et ça avait marché chez moi quand je l'utilisait
    vérifie dans ton message map
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ON_NOTIFY(NM_DBLCLK, IDC_LIST, OnNMDblclkList)
    a+
    PS: *pResult si je me rappelle concerne la sélection dans ton control si = 0 tu peut utiliser les flècher pour parcourir les items si = 1 tu ne peut pas utiliser les flèches pour parcourir la controle

  5. #5
    Membre confirmé
    Inscrit en
    Décembre 2006
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 116
    Par défaut
    Merci,
    Voici mon code il marche bien lorsque je click deux fois sur la 1ere ligne il affiche le champ n°1, n°2,n°3 et n°4.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     CString strText = m_ListCtrl.GetItemText(nSelected, 0);
    	CString strTex = m_ListCtrl.GetItemText(nSelected, 1);
    	CString strTe = m_ListCtrl.GetItemText(nSelected, 2);
    	CString strT = m_ListCtrl.GetItemText(nSelected, 3);
            AfxMessageBox(strText);
    	AfxMessageBox(strTex);
    	AfxMessageBox(strTe);
    	AfxMessageBox(strT);
    Ensuite je fait appel a une boite de dialogue qui contient des TextFields.(membre fonction de type CEdit)
    Cc cp;
    cp.DoModal();
    Je veux récupérer strText,strTex,strTex et strTe dans les TextFiels de la boite de dialogue.Je fais comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    UpdateData(FALSE);
    cp.m_EditC.SetWindowText(strText);
    //pour un seul TextField.
    mais il ne marche pas. S.V.P c'est urgent.
    Merci d'avance.

  6. #6
    Membre éprouvé Avatar de bobmidou
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2008
    Messages : 121
    Par défaut
    salut

    Essaye de mettre tes TextFields.(membre fonction de type CString)
    et tu écris
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Cc cp;
    UpdateData(TRUE);
    cp.NouveauTextFiel = strText; // même chose pour les autres
    ----
    ---
    ---
    cp.DoModal();
    UpdateData(FALSE);
    puis n'oublie pas d'inclure ton fichier "Dialog.h" dans ton .cpp qui affiche ton dialogbox
    Bonne chaance

  7. #7
    Membre confirmé
    Inscrit en
    Décembre 2006
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 116
    Par défaut
    Merci Beaucoup 1000 fois.

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

Discussions similaires

  1. Recuperation Nom des Champs d'une table
    Par Djekill dans le forum Access
    Réponses: 2
    Dernier message: 31/07/2006, 15h47
  2. [debutant] requete en vba et récuperation d'un champ
    Par Greg84 dans le forum Requêtes et SQL.
    Réponses: 18
    Dernier message: 29/07/2006, 00h05
  3. Recuperation d'un champ de type LONG
    Par elflamby dans le forum Langage SQL
    Réponses: 1
    Dernier message: 02/01/2006, 16h06
  4. Problème avec le recuperation d'un champ caché
    Par gregal dans le forum Langage
    Réponses: 2
    Dernier message: 08/12/2005, 13h20
  5. Réponses: 2
    Dernier message: 30/06/2004, 13h22

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