CListCtrl (MFC) 选择点击通过控制UNDERNEATH列表

Posted

技术标签:

【中文标题】CListCtrl (MFC) 选择点击通过控制UNDERNEATH列表【英文标题】:CListCtrl (MFC) selection click passes through to control UNDERNEATH the list 【发布时间】:2016-01-25 04:11:09 【问题描述】:

当 CListCtrl 后面有另一个控件时,我的 CListCtrl(报表视图,单列)会忽略项目选择。就好像单击传递到 CListCtrl 后面的控件。

如果列表项不在另一个对话框项的顶部,则选择很好。

这令人费解,因为 CListCtrl 的 z 顺序高于这些其他控件。任何人都可以建议我可以尝试让 CListCtrl 接受点击,即使有另一个重叠的控件?谢谢!

【问题讨论】:

你的 CListCtrl 透明吗?它有LVS_EX_FULLROWSELECT 风格吗?您是单击项目还是单击项目旁边?背后有什么控制? 不透明,建议的样式没有效果。还是谢谢。 【参考方案1】:

用户 Spy++ 检查消息流。并检查另一个控件是否在您的控制之上!即使您认为控件在上方,您的 z 顺序也可能有问题。还要检查你是否覆盖了 WM_NCHITTEST

【讨论】:

以上是关于CListCtrl (MFC) 选择点击通过控制UNDERNEATH列表的主要内容,如果未能解决你的问题,请参考以下文章

MFC CListCtrl空间中,如果在鼠标点击某一个Item时,获得该Item的内容。

在 MFC 中的 CListCtrl 中禁用多项选择项上的按钮

MFC:CListCtrl.EnableWindow(FALSE),但仍可滚动? [复制]

MFC总结之CListCtrl用法及技巧

更新 CListCtrl 时 MFC 应用程序冻结

如何以编程方式(VS 6)取消突出显示 MFC CListCtrl 中先前选择的行?