在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、怀疑是控件风格问题,更改了控件的风格以上几种方式都试过了,就是响应不了这问题纠结几点了,急需高人指点。如果可以的话,也可以把工程发给你,帮忙调试下。不胜感激!!!
解决方案 »
- 安装VS2008到RemoveNameSpace这个步骤的时候出错,而且是日文提示。。。
- 我在TABCONTROL中添加了一个dialog,为什么我一点击这个DIALOG中的控件,程序就没有响应?
- <windows网络编程》(第二版)配套光盘上的第一个例子程序就是可编译,不能执行,应怎样搞啊?
- 我用ScrollWindow实现函数拖动视图,但拖动的时候带有尾巴,没有刷新干净,这是怎么回事?
- 急聘,VC程序员!!!!!
- CString 转到LPSTR要怎么做
- 怎模样HOOK 所有声音的输入/输出设备 (例如扬声器和麦克风) ?
- 关于COM+创建永久订阅的问题
- MFC 的 DockPane 比 vs2012 的效率差很多。
- 请问用ATL写的COM组件如何调试?
- 请问,写内存数据的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*/>,