//自己创建的继承自CScrollView的CListCtrl控件的消息映射为什么无效?
//类定义:
class CMyView : public CScrollView
{
protected: // create from serialization only
CMyView();
DECLARE_DYNCREATE(CMyView)
...
}
//消息函数定义:
//{{AFX_MSG(CMyView)
...
afx_msg void OnItemclickMyList(NMHDR* pNMHDR, LRESULT* pResult);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()//添加消息映射
BEGIN_MESSAGE_MAP(CMyView, CScrollView)
//{{AFX_MSG_MAP(CMyView)
ON_WM_SIZE()
...
ON_NOTIFY(HDN_ITEMCLICK,IDC_MY_LIST,OnItemclickMyList)
//}}AFX_MSG_MAP
// Standard printing commands
END_MESSAGE_MAP()//创建控件
void CMyView::OnInitialUpdate()
{
CScrollView::OnInitialUpdate();
CRect rc;
GetClientRect(rc);
...
m_list.Create(LVS_REPORT,rc,this,IDC_MY_LIST);
m_list.SetOwner(this);
}//消息映射函数
void CMyView::OnItemclickMyList(NMHDR* pNMHDR, LRESULT* pResult)
{
HD_NOTIFY *phdn = (HD_NOTIFY *) pNMHDR;
// TODO: Add your control notification handler code here
AfxMessageBox(_T("点击了列表框!"));
*pResult = 0;
}//可是现在的问题是,当我在显示出来的listctrl上单击了Item后,并没有执行 OnItemclickMyList 函数?//请高手帮忙解答一下!
//类定义:
class CMyView : public CScrollView
{
protected: // create from serialization only
CMyView();
DECLARE_DYNCREATE(CMyView)
...
}
//消息函数定义:
//{{AFX_MSG(CMyView)
...
afx_msg void OnItemclickMyList(NMHDR* pNMHDR, LRESULT* pResult);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()//添加消息映射
BEGIN_MESSAGE_MAP(CMyView, CScrollView)
//{{AFX_MSG_MAP(CMyView)
ON_WM_SIZE()
...
ON_NOTIFY(HDN_ITEMCLICK,IDC_MY_LIST,OnItemclickMyList)
//}}AFX_MSG_MAP
// Standard printing commands
END_MESSAGE_MAP()//创建控件
void CMyView::OnInitialUpdate()
{
CScrollView::OnInitialUpdate();
CRect rc;
GetClientRect(rc);
...
m_list.Create(LVS_REPORT,rc,this,IDC_MY_LIST);
m_list.SetOwner(this);
}//消息映射函数
void CMyView::OnItemclickMyList(NMHDR* pNMHDR, LRESULT* pResult)
{
HD_NOTIFY *phdn = (HD_NOTIFY *) pNMHDR;
// TODO: Add your control notification handler code here
AfxMessageBox(_T("点击了列表框!"));
*pResult = 0;
}//可是现在的问题是,当我在显示出来的listctrl上单击了Item后,并没有执行 OnItemclickMyList 函数?//请高手帮忙解答一下!
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货