高分请教CListCtrl控件双击消息的问题

zhwang_1999 2006-05-11 04:51:18
郁闷了一天了,请高手指点:
问题:
在一个试图类中定义一个控件对象
CListCtrl m_listCtrl;

在视图类创建时,创建m_listCtrl
m_rect = CRect(CPoint(5,80),CSize(1000,660));//设定CListCtrl的位置
dwStyle = WS_CHILD | WS_VISIBLE | WS_VSCROLL | WS_BORDER | LVS_REPORT
| LVS_SINGLESEL;
m_listCtrl.Create(dwStyle,m_rect,this,IDC_MYLISTCTRL);//创建控件对象
dwStyle = dwStyle | LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES |LVS_EX_ONECLICKACTIVATE ;
m_listCtrl.SetExtendedStyle(dwStyle);//设置更多类型
...
添加列
...

手动添加双击m_listCtrl记录的消息
afx_msg void OnDblclkListData(NMHDR* pNMHDR, LRESULT* pResult);
添加消息映射
ON_NOTIFY(HDN_ITEMDBLCLICK,IDC_MYLISTCTRL ,OnDblclkListData)

但是双击m_listCtrl时,却没有产生相应消息,没有调用函数
void CLimitView::OnDblclkListData(NMHDR* pNMHDR, LRESULT* pResult)
{
HD_NOTIFY *phdn = (HD_NOTIFY *) pNMHDR;
// TODO: Add your control notification handler code here
NMLISTVIEW *pNmlist = (NMLISTVIEW *) pNMHDR;
if (pNmlist->iItem==-1) return;
::MessageBox(NULL,"测试!","请注意",MB_ICONWARNING|MB_OK|MB_TOPMOST);
*pResult = 0;
}

请问为什么,又该如何解决呢?困惑了一天了,谢谢!
...全文
395 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhwang_1999 2006-05-11
  • 打赏
  • 举报
回复
谢谢,问题解决了。
化外之民 2006-05-11
  • 打赏
  • 举报
回复
LVN_ITEMDBLCLICK
化外之民 2006-05-11
  • 打赏
  • 举报
回复
错在ON_NOTIFY(HDN_ITEMDBLCLICK,IDC_MYLISTCTRL ,OnDblclkListData)
把HDN_ITEMDBLCLICK改成NM_DBLCLK
因为HDN_ITEMDBLCLICK是针对列表头的。

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧