请高人指点:WTL项目中:CListViewCtrl控件始终响应不了消息LVN_COLUMNCLICK。详见内容

scsnsjsl_cs_dn 2010-04-19 08:56:49
在CMainFrame::OnCreate中通过下列语句创建了一个CListViewCtrl控件
m_fileReport.Create( m_dock, rcDefault, 0, 0, LVS_EX_FULLROWSELECT|LVS_REPORT );
m_fileReport.SetDlgCtrlID(ID_FILE_LIST);
m_fileReport.SetWindowText( _T("文件") );
m_dock.AddWindow( m_fileReport );
m_dock.DockWindow( m_fileReport, DOCK_BOTTOM );


其中m_fileReport为CListFormImpl类型的派生类 对象
class CListFormImpl : 
public CWindowImpl<CListFormImpl, CListViewCtrl, CListTraits>,
public CCustomDraw<CListFormImpl>



通过以下几种方式都试过了,始终响应不了LVN_COLUMNCLICK
1、在CMainFrame的BEGIN_MSG_MAP(CMainFrame) 中消息映射宏
NOTIFY_HANDLER(ID_FILE_LIST,LVN_COLUMNCLICK,NotifyHandler)
2、CListFormImpl类里面用REFLECTED_NOTIFY_CODE_HANDLER(LVN_COLUMNCLICK, OnColumnClick)

3、怀疑是控件风格问题,更改了控件的风格

以上几种方式都试过了,就是响应不了

这问题纠结几点了,急需高人指点。如果可以的话,也可以把工程发给你,帮忙调试下。不胜感激!!!
...全文
144 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
jink2005 2010-11-12
  • 打赏
  • 举报
回复
这个问题还是没解决吗?我现在也遇到这个问题,大哥结贴了吗?
scsnsjsl_cs_dn 2010-04-20
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 aa3000 的回复:]
楼主确定点了头控件但收不到 LVN_COLUMNCLICK ?
[/Quote]

就是的,纠结几天了,始终解决不了
aa3000 2010-04-20
  • 打赏
  • 举报
回复
楼主确定点了头控件但收不到 LVN_COLUMNCLICK ?
scsnsjsl_cs_dn 2010-04-20
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 visualassist4680 的回复:]
引用 2 楼 liyinlei 的回复:

LVN_COLUMNCLICK是通知给父窗口的。从你创建的代码看,父窗口是 m_dock, 应当在 m_dock窗口响应该消息

由 m_dock 在转发给 主窗口,或者是 控件 CListFormImpl
[/Quote]

如何转?用CHAIN_MSG_MAP吗?可能不是

有可能的话,能帮我看看代码吗
scsnsjsl_cs_dn 2010-04-20
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 liyinlei 的回复:]
LVN_COLUMNCLICK是通知给父窗口的。从你创建的代码看,父窗口是 m_dock, 应当在 m_dock窗口响应该消息
[/Quote]

我应该试过这种方法

另外如果 在CListFormImpl类里面用REFLECTED_NOTIFY_CODE_HANDLER(LVN_COLUMNCLICK, OnColumnClick),好象就跟谁是父窗口没关系了,不还是调不到其响应函数
visualassist4680 2010-04-20
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 liyinlei 的回复:]

LVN_COLUMNCLICK是通知给父窗口的。从你创建的代码看,父窗口是 m_dock, 应当在 m_dock窗口响应该消息
[/Quote]
由 m_dock 在转发给 主窗口,或者是 控件 CListFormImpl
liyinlei 2010-04-20
  • 打赏
  • 举报
回复
LVN_COLUMNCLICK是通知给父窗口的。从你创建的代码看,父窗口是 m_dock, 应当在 m_dock窗口响应该消息
scsnsjsl_cs_dn 2010-04-20
  • 打赏
  • 举报
回复
怎么每人帮忙看看啊

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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