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 :

Probleme avec Sort ListCtrl


Sujet :

MFC

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    213
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 213
    Points : 58
    Points
    58
    Par défaut Probleme avec Sort ListCtrl
    Voila j'ai trouvé à l'adresse suivante un code permettant d'effectuer le tri sur une ListCtrl

    http://www.codeproject.com/listctrl/sortlistctrl.asp

    Lorsque je compile l'exemple seul cela fonctionne bien mais qd je l'integre à mon projet, probleme.

    J'ai un probleme à l'execution dans le fichier d'include
    MFC\SRC\DLGCOR.cpp

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    TRY
    {
    // create modeless dialog
    AfxHookWindowCreate(this);
    if (CreateDlgIndirect(lpDialogTemplate,
    CWnd::FromHandle(hWndParent), hInst))
    ......
    Mon code plante sur la derniere ligne

    Je suis les instructions indiquées mais je ne comprends pas trop

    L'erreur disparait lorsque j enleve

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    m_ctlList.SetHeadings( _T("Name,120;Date of Birth,90;Score,50") );
    dans le OnInitDialog() de ma boite de dialogue.

    Il est dit egalement:

    then associate a CSortListCtrl variable with your list control
    Est ce possible? J'ai pu associer avec ClassWizard une variable CListCtrl mais pas CSortListCtrl.

    Est ce qqun a deja utiliser ce pgm?

  2. #2
    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
    Points : 17 323
    Points
    17 323
    Par défaut
    salut,
    hé bien il te suffit de remplacer dans ton .h de classe fenêtre CListCtrl par CSortListCtrl ....

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    391
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 391
    Points : 347
    Points
    347
    Par défaut
    Bonjour mon ben

    Et oui je l'ai utiliser, remplace en direct dans tes .h les CListCtrl
    par CSortListCtrl sans passer par le classwizard. Fait un find pour etre sur de ne pas en oublier.

    Deuxieme chose il faut que tes header soit definis comme tu l'as remarqué avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    m_ctlList.SetHeadings( _T("Name,120;Date of Birth,90;Score,50") );
    mais la classe n'accepte pas des CString dans la méthode SetHeadings alors fait attention sinon le code se compile mais tu as une exception des que tu clic sur le header

    Cordialement

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    213
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 213
    Points : 58
    Points
    58
    Par défaut
    Salut Ricky!!! Comme tu peux le voir tjrs des problemes!!!

    Ok

    pour ce qui est de

    Et oui je l'ai utiliser, remplace en direct dans tes .h les CListCtrl
    par CSortListCtrl sans passer par le classwizard. Fait un find pour etre sur de ne pas en oublier.
    J'avais pu le modifier comme ca ce qui me permet de compiler sans erreur.

    Je ne comprends pas pourquoi ca plante a cet endroit

    if (CreateDlgIndirect(lpDialogTemplate,
    CWnd::FromHandle(hWndParent), hInst))

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    391
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 391
    Points : 347
    Points
    347
    Par défaut
    Bonjour

    T'as dialog n'aurait t'elle pas la propriete WS_CHILD.
    Essaye de la passer en WS_POPUP

    A+

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    213
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 213
    Points : 58
    Points
    58
    Par défaut
    J'ai tjrs la meme erreur.

    En fait j'ai deux boites de dialogue. Et j'appelle ma deuxiemme comme ceci.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    NomDeMaBoite Dlg;   
    Dlg.DoModal();
    Ce qui est bizarre c que sans cette ligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    m_ctlList.SetHeadings( _T("Name,120;Date of Birth,90;Score,50") );
    Ca marche

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    213
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 213
    Points : 58
    Points
    58
    Par défaut
    Ok à force ca a fini par marcher....

    J'ai modifié des propriétés de la ListCtrl

    View: Report
    Show Selection Always: coché
    Il me manquait également dans le cpp de ma Boite de dialogue:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    void NomDeBoiteDialogue::DoDataExchange(CDataExchange* pDX)
    {
    	CDialog::DoDataExchange(pDX);
    	//{{AFX_DATA_MAP(AffichageCapture)
    	DDX_Control(pDX, IDC_LIST3, m_trameselect);
                ................
    	DDX_Control(pDX, IDC_LIST, m_ctlList);
    	//}}AFX_DATA_MAP
    Merci en tt cas
    A bientot Mr Ricky

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

Discussions similaires

  1. [Débutant] Probleme avec sort cas vecteur et matrice
    Par membreComplexe12 dans le forum MATLAB
    Réponses: 4
    Dernier message: 22/04/2010, 17h39
  2. [Struts-Layout] probleme avec pager et sort
    Par Kendael dans le forum Struts 1
    Réponses: 22
    Dernier message: 07/08/2007, 13h38
  3. [Struts-Layout] pager and collection, probleme avec sort
    Par chouchou93 dans le forum Struts 1
    Réponses: 22
    Dernier message: 27/06/2007, 13h34
  4. Probleme avec Listctrl
    Par Bustakheops dans le forum wxPython
    Réponses: 1
    Dernier message: 07/11/2006, 16h50
  5. Petit probleme avec Arrays.Sort(...)
    Par Seth77 dans le forum Collection et Stream
    Réponses: 11
    Dernier message: 15/01/2006, 12h48

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