我有一个CListCtrl在一个CDialog。而且大多数事件都没有被CListCtrl所调用。例如,当我的鼠标指针在CListCtrl上时,CListCtrl不会被调用,但是如果鼠标指针在窗口或编辑控制上,则会起作用。
注意:我的CListCtrl设置为Report视图。
有人能解释一下这种行为吗?
发布于 2016-04-10 01:34:07
我刚刚遇到了类似的症状,(在我的名字下,"MFC CListCtrl不出现在最小化恢复“这一问题中)。我发现,正如你所做的那样,许多信息没有出现在你认为应该出现的地方,有些则根本没有出现。其他人也发现了同样的东西。我通过创建自己的类(从CListCtrl继承并只是重写OnNotify(.)来解决这个问题。然后,我发现我收到了信息,只困在我想要的,并修改了行为,以适应我自己的班级。(我只是在防止调整列宽的大小。)在我的情况下不需要其他代码。
BOOL CCompilationListCtrl::OnNotify(WPARAM wParam, LPARAM lParam, LRESULT* pResult)
{
HD_NOTIFY *pHDN = (HD_NOTIFY*)lParam;
{
if(pHDN->hdr.code == HDN_BEGINTRACKW || pHDN->hdr.code == HDN_BEGINTRACKA)
{
*pResult = TRUE;
return TRUE;
}
if(pHDN->hdr.code == HDN_ENDTRACKW || pHDN->hdr.code == HDN_ENDTRACKA)
{
*pResult = TRUE;
return TRUE;
}
if(pHDN->hdr.code == HDN_DIVIDERDBLCLICKW || pHDN->hdr.code == HDN_DIVIDERDBLCLICKA)
{
*pResult = TRUE;
return TRUE;
}
}
return CListCtrl::OnNotify(wParam, lParam, pResult);
}https://stackoverflow.com/questions/31072132
复制相似问题