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

Windows Discussion :

click sur treeview


Sujet :

Windows

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    382
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 382
    Points : 80
    Points
    80
    Par défaut click sur treeview
    Hello !!

    J'ai une petite question. Je dispose dans mon API d'une treeview avec de cases a cocher. Lors d'un click sur une des cases a cocher, un message est envoyer. J'ai trouvé ce code sur msdn :

    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
     
    LPNMHDR lpnmh = (LPNMHDR) lParam;
     
    switch (lpnmh->code) 
    {
       case NM_DBLCLK: 
        break;
     
       case NM_CLICK :
    
        DWORD dwpos = GetMessagePos();
        ht.pt.x = GET_X_LPARAM(dwpos);
        ht.pt.y = GET_Y_LPARAM(dwpos);
        MapWindowPoints(HWND_DESKTOP, lpnmh->hwndFrom, &ht.pt, 1);
     
        TreeView_HitTest(lpnmh->hwndFrom, &ht);
       
        if(TVHT_ONITEMSTATEICON & ht.flags)
        {
           PostMessage(hwnd, UM_CHECKSTATECHANGE, 0, (LPARAM)ht.hItem);
        } 
     
        break;
    }
    
    Mais j'aimerai savoir comment obtenir le lParam de la structure tvItem lorsque je fais un click ailleurs que sur la case a cocher...

    Merci d'avance pour le coup de main !

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    382
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 382
    Points : 80
    Points
    80
    Par défaut
    C'est bon, j'ai trouvé... Voila le code pour ceux que ca interesse :

    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
    switch (lpnmh->code) 
    {
     case NM_DBLCLK: 
     break;
     
     case NM_CLICK :
     
    
     DWORD dwpos = GetMessagePos();
     ht.pt.x = GET_X_LPARAM(dwpos);
     ht.pt.y = GET_Y_LPARAM(dwpos);
     MapWindowPoints(HWND_DESKTOP, lpnmh->hwndFrom, &ht.pt, 1);
    
     TreeView_HitTest(lpnmh->hwndFrom, &ht);
     
     tv_essai.mask = TVIF_HANDLE | TVIF_STATE;
     tv_essai.hItem = ht.hItem;
     tv_essai.stateMask = TVIS_STATEIMAGEMASK;
     
     TreeView_GetItem(treeViewFlux, &tv_essai);
     printf("lParam = %d\n", tv_essai.lParam);
    
     if(TVHT_ONITEMSTATEICON & ht.flags)
     {
      PostMessage(hwnd, UM_CHECKSTATECHANGE, 0, (LPARAM)ht.hItem);
     } 
     break;
    }
    

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

Discussions similaires

  1. [AC-2013] Click sur un treeview ne fonctionne plus Access 2013
    Par JulietteBl dans le forum IHM
    Réponses: 0
    Dernier message: 17/09/2013, 15h37
  2. Réponses: 3
    Dernier message: 07/08/2012, 12h27
  3. Capturer l'endroit du click sur une TreeView
    Par Arnaud F. dans le forum Windows Forms
    Réponses: 1
    Dernier message: 03/06/2009, 20h56
  4. Capturer le right-click sur un treeview ?
    Par marot_r dans le forum IHM
    Réponses: 2
    Dernier message: 15/10/2007, 22h32
  5. [C#][.Net 2.0] donner focus à Combobox, après click sur treeview
    Par Harry_polin dans le forum Windows Forms
    Réponses: 3
    Dernier message: 17/02/2006, 22h27

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