在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、怀疑是控件风格问题,更改了控件的风格以上几种方式都试过了,就是响应不了这问题纠结几点了,急需高人指点。如果可以的话,也可以把工程发给你,帮忙调试下。不胜感激!!!
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、怀疑是控件风格问题,更改了控件的风格以上几种方式都试过了,就是响应不了这问题纠结几点了,急需高人指点。如果可以的话,也可以把工程发给你,帮忙调试下。不胜感激!!!
解决方案 »
- 一个指针转换的问题
- 老生常谈:您用过网上广为流传的那段HideProcess代码吗?好使吗?
- mapx中如何实现全图显示?
- 是不是我用MapViewOfFile把一个PE格式的文件映射后,PE格式中的RVA地址都需要转换成文件偏移地址?(没分了,帮帮我这个棒槌吧)
- 一个很奇怪的问题?tab键居然不管用!
- 为什么没有窗口出现啊????????
- 如何生成右键菜单?
- 救急!!!关于类的使用问题(面向对象高手请进)。
- cann`t open debug/filename or writing? 是什么样的错误怎么避免。
- 文档中要实现多种文件类型的文件的存盘和打开,哪位给点思路?
- 请问,写内存数据的API函数除了WriteProcessMemory以外,还有什么?
- MDI中怎样新建一个CControlBar的子类?
我用CListFormImpl类里面用REFLECTED_NOTIFY_CODE_HANDLER(LVN_COLUMNCLICK, OnColumnClick)让控件本身来处理了,还是响应不了有可能的话,麻烦帮忙看下代码
红的为创建时的父窗口,你在主框架里create的话,建义消息响应也放主框架里,还有注意创建时的父窗口设置,可用setParent实现
先给你邮箱发我MSN/QQ联系方式,不冒昧的话,麻烦加一下
修改了 class ATL_NO_VTABLE CDockingWindowImpl{}
增加了 消息转发
修改了 list创建 m_fileReport.Create( m_dock, rcDefault, 0, WS_CHILD | WS_VISIBLE | LVS_EX_FULLROWSELECT|LVS_REPORT );
修改了 list实现 class CListFormImpl :
public CWindowImpl<CListFormImpl, CListViewCtrl/*, CListTraits*/>,