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 :

Limiter nombre de colonne CListCtrl


Sujet :

MFC

  1. #1
    Membre averti
    Inscrit en
    Mars 2004
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 16
    Par défaut Limiter nombre de colonne CListCtrl
    Bonjour,
    Aprés avoir réussi à redimensionner mon CDialog ,ma CListCtrl se redimensionne aussi seul probeleme c'est qu'une colonne est ajoutée a la fin
    ce que je ne veux pas!
    Y'a t'il une option pour eviter auto insert car voila quelques moments que je test et je ne trouve pas!!
    MERCI d'avance

  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
    Par défaut
    Citation Envoyé par metek
    Bonjour,
    Aprés avoir réussi à redimensionner mon CDialog ,ma CListCtrl se redimensionne aussi seul probeleme c'est qu'une colonne est ajoutée a la fin
    ce que je ne veux pas!
    Y'a t'il une option pour eviter auto insert car voila quelques moments que je test et je ne trouve pas!!
    MERCI d'avance
    comment ça l'auto insert ?,elle se rajoute pas toute seule la colonne .
    tu parlerais pas de la bande restante du header contrôle ?

  3. #3
    Membre averti
    Inscrit en
    Mars 2004
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 16
    Par défaut
    ahh farscape pardon Monsieur Farscape mon sauveur!!
    En fait je sais pas trop comment ca s'appel surement comme tu dis
    je mets un ptit screen:




    voila c'est ca qui m'embete!
    En fait pour resize j'ai trouvé ca sur code projet je mets le lien
    http://www.codeproject.com/useritems/SizingDialog.asp
    ce qui me permet de redimensionner tous mes controls de cette maniere:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this->AddResizableCtrl(IDC_LIST1, _T("CX+(0.5)CY"));
    et c'est la seule chose qui me reste à enlever.
    Merci d'avance et merci pour tes réponses instructives

  4. #4
    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
    bien tu ne peux pas la virer cette zone ,c'est la surface restante du header controle, au mieux que tu puisses faire c'est ajuster la taille des colonnes sur la largeur du CListCtrl.
    En donnant par exemple la largeur restante sur la derniere colonne.
    comment ?
    en reprenant mon post precedent ou il y a un parcours des items du headercontrol pour recuperer la largeur des colonnes .
    tu itéres et cumul les largeurs, la difference avec la largeur de la CListCtrl
    te donnes la valeur à rajouter pour la derniere colonne.

  5. #5
    Membre averti
    Inscrit en
    Mars 2004
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 16
    Par défaut
    Oki merci bien pour la réponse et la rapidité!!
    Je vais encore pénible mais j'ai encore un souci (ca n'arrete pas).
    Quand j'utilise ma bibliotheque citée précédement mes changement ne peuvent se faire que dans la fonction : OnInitDialog()
    j'avais deja fait une petite fonction surement trés barbare:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     void CMFCDlg::OnSize(UINT nType,int cx,int cy)
    {
        CWnd *pWnd = this;
        CRect Rect_temp;
        pWnd->GetWindowRect( &rect );
        m_liste.GetClientRect(&rect);
        m_liste.SetColumnWidth(4,LVSCW_AUTOSIZE_USEHEADER);
        m_liste.SetColumnWidth(0,0);
        m_liste.SetColumnWidth(1,cx/4);
        m_liste.SetColumnWidth(2,cx/4);
        m_liste.SetColumnWidth(3,cx/4);
        m_liste.SetColumnWidth(4,cx/4);
        m_liste.MoveWindow(10,50,cx-40,(cy/6));
    }
    je sais ce code ne doit pas être trés propre mais il fonctionne!!
    Le probleme c'est que lorsque j'utilise la fonction OnSize je ne peut plus utiliser ma bibliotheque qui redimensionne tous mes éléments!!!!
    J'ai eut l'idée de faire une fonction qui lorsque elle détecte un changement de taille dans la CListCtrl est appelé mais je ne vois pas trés bien comment faire en fait pour allier avec ma bibliothéque.
    Peut être un callback ou peut être que ca ne sert a rien je suis un peu paumé (je sais ca fait beaucoup)

    Merci encore j'espere avoir été assez clair!

  6. #6
    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,
    pour avoir cet info le plus simple c'est de faire un contrôle dérivé du CListCtrl et de faire router ce message (WM_SIZE) sur la classe parent.
    voir cet exemple dans la faq:
    http://c.developpez.com/faq/vc/?page...s#PrivateNotiy
    après de la classe parent tu fais ce que tu veux et c'est réutilisable...


Discussions similaires

  1. [phpMyAdmin] PMA limite le nombre de colonnes visibles
    Par blumax dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 0
    Dernier message: 17/08/2013, 15h11
  2. [Doctrine] 1.2.2 Nombre de colonnes limité à 10 dans select ?
    Par haydan dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 10/12/2010, 15h24
  3. Réponses: 7
    Dernier message: 21/07/2010, 15h47
  4. Réponses: 1
    Dernier message: 16/02/2010, 08h10
  5. Limiter le nombre de colonnes d'un tableau
    Par Killermix dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 23/03/2008, 16h59

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