当ListView处于图标模式时,我想在ListView项目周围绘制一个矩形,所以我开始阅读所有者绘图,我认为它将解决我的问题。
但是,我还读到所有者绘图仅适用于报告模式!在较新版本的Windows(Windows XP及更高版本)下,情况仍然如此吗?
如果仍然如此,那么是否有另一种方法在ListView项目周围绘制一个矩形?
答案 0 :(得分:4)
是的,LVS_OWNERDRAWFIXED
样式仅对LVS_REPORT
案例有意义。但还有另一种方法 - 您可以处理listview发送给您的NM_CUSTOMDRAW
通知。这些是针对所有控制模式发送的,根据您的想法,您可以处理CDDS_ITEMPOSTPAINT
通知,使用dwItemSpec
字段作为项目索引,从WM_NOTIFY处理程序中发送LVM_GETITEMRECT,并执行您想要的任何操作用它。