hur.cn - 华软网

 热门搜索

单文档的View子类监听不到动态创建控件的CListCtrl消息

  作者:未知    来源:网络    更新时间:2011/8/14
CSearchView.cpp

BEGIN_MESSAGE_MAP(CSearcherView, CView)
ON_NOTIFY(LVN_COLUMNCLICK, 0x85, &CSearcherView::OnNMHoverListTest)
END_MESSAGE_MAP()



pm_listctrl->Create(WS_CHILD|WS_VISIBLE|WS_BORDER|LVS_REPORT|LVS_EDITLABELS,tRect,pTab[0],0x85);

afx_msg void CSearcherView::OnNMHoverListTest(NMHDR *pNMHDR, LRESULT *pResult)//{
  pTab[0]->ShowWindow(1);//这里打断点断点进不来
   
}




CSearchView.h
CListCtrl *pm_listctrl;
protected:
afx_msg void OnNMHoverListTest(NMHDR *pNMHDR, LRESULT *pResult);




我都是手动写得代码。不知道可不可以自动生成vs2008的。消息就是监听不到。
---华软 网友回答---
pm_listctrl->Create(WS_CHILD|WS_VISIBLE|WS_BORDER|LVS_REPORT|LVS_EDITLABELS,tRect,pTab[0],0x85);
-------------
LVN_COLUMNCLICK:Notifies a list-view control's parent window that a column was clicked. This notification message is sent in the form of a WM_NOTIFY message. 
LVN_COLUMNCLICK是以WM_NOTIFY发送给ListCtrl控件的父窗口的,而你创建CListCtrl控件的时候指定的父窗口是pTab[0];而不是你的View类,但是你添加LVN_COLUMNCLICK消息出来却是在View类中。所以就错了。
---华软网友回复---
pTab[0]是一个分页容器的Cbutton。
是加在CView子类的
消息不会自动冒泡么。


还是我一定要把ctrllist加在cview子类里
---华软网友回复---
pm_listctrl->Create(WS_CHILD|WS_VISIBLE|WS_BORDER|LVS_REPORT|LVS_EDITLABELS,tRect,this,0x85);

好像改成this也监听不到
---华软网友回复---
哦,用this监听到了。但是我这样怎么把listCtrl丢进一个容器呢。
否则我统一显示/隐藏处理就麻烦了啊。      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。