none
Suite RRS feed

  • Question

  • Bonjour á tous,

    j'ai réussi a afficher mon menu ou je le désirais  en utilisant le code suivant:

    void CLeftView:SurprisenNMRClick(NMHDR *pNMHDR, LRESULT *pResult)
    {
        // TODO : ajoutez ici le code de votre gestionnaire de notification de contrôle
        // recuperation position de la souris au moment du click
        CTreeCtrl& m_Tree = GetTreeCtrl();
        CPoint Point;
        DWORD dwPos;
        dwPos = GetMessagePos();
        Point.x = LOWORD (dwPos);
        Point.y = HIWORD (dwPos);
        // conversion des coordonnées screen pour la zone cliente du TreeView
        m_Tree.ScreenToClient( &Point );
        UINT Flags = TVHT_ONITEMLABEL;
        // recuperation de l'item selectionné.
        //HTREEITEM ht = m_Tree.HitTest( Point ,&Flags );
        ht = m_Tree.HitTest( Point ,&Flags );
        //CPlanete* pPlanete=(CPlanete*)m_Tree.GetItemData(ht);
        //AfxGetMainWnd()
        pPlaneteSelected=(CPlanete*)m_Tree.GetItemData(ht);
        if (pPlaneteSelected)
        {
            m_ShortMenu.DestroyMenu();
            VERIFY(m_ShortMenu.LoadMenu(IDR_MENU_TREE));
            CMenu* pPopup = m_ShortMenu.GetSubMenu(0);
            ASSERT(pPopup != NULL);
            GetCursorPos(&Point);
            dwPos=pPopup->TrackPopupMenu(TPM_LEFTALIGN
                                 | TPM_TOPALIGN
                                 | TPM_RIGHTBUTTON,
                                 Point.x, Point.y,this);
            //pPopup->DestroyMenu();    
        }
        *pResult = 0;
    }

    Voila ca  marche impec.
    Ma prochaine étape si ca vous interrese sera de remplacer la methode serialize par une gestion des planetes avec une BD sql server 2000.
    Si vous avez des conseils á me donner sur comment m'y prendre je suis preneur.
    Merci et j'espere que cela poura en aider quelque uns.
    Ciao





     
    mercredi 12 novembre 2008 11:15