2010-02-05 9 views
1

J'essaie d'obtenir un menu contextuel qui fonctionne pour une classe dérivée de CListCtrl. Je viens de créer une méthode OnContextMenu, mais elle n'est pas appelée. Qu'est-ce que je rate? J'utilise Visual Studio 2008 pour créer une application MFC basée sur CDialog.Impossible de faire fonctionner OnContextMenu pour la classe CListCtl personnalisée

CustomList.h

class tcCustomListCtl : public CListCtl 
{ 
    DECLARE_DYNAMIC(tcCustomListCtl) 

public: 
    tcCustomListCtl(); 
    virtual ~tcCustomListCtl(); 

protected: 
    DECLARE_MESSAGE_MAP() 

    afx_msg void OnContextMenu(CWnd* pWnd,CPoint pos); 
}; 

CustomList.cpp

// tcFaultListCtl 
IMPLEMENT_DYNAMIC(tcCustomListCtl, CListCtrl) 

tcCustomListCtl::tcCustomListCtl() 
{ 
} 

tcCustomListCtl::~tcCustomListCtl() 
{ 
} 

BEGIN_MESSAGE_MAP(tcCustomListCtl, CListCtrl) 
END_MESSAGE_MAP() 

// tcCustomListCtl message handlers 
afx_msg void tcCustomListCtl::OnContextMenu(CWnd* pWnd,CPoint pos) 
{ 
    TRACE("tcCustomListCtl::OnContextMenu\n"); 
} 

Répondre

2

j'ai découvert que je devais ajouter ON_WM_CONTEXTMENU() à la carte du message.