[英]Problem with a custom drawn list view
我创建了一个列表视图类,该类使用“自定义绘图”进行呈现。 除了不渲染任何东西外,其他所有功能都运行良好。 我将其父窗口NM_CUSTOMDRAW
为WM_NOTIFY
消息以捕获NM_CUSTOMDRAW
通知。 但是,似乎WM_NOTIFY
在控件创建期间仅被触发了几次,此后再也没有触发。 因此,永远不会执行NM_CUSTOMDRAW
代码。
我检查了Winspector Spy,以便查看控件在父窗口中的布局是否正确,这似乎很好。
有人知道我可能做错了什么吗?
可以在网上找到代码:
为什么在CDDS_ITEMPOSTPAINT中绘制文本? 您可能应该在CDDS_ITEMPREPAINT中绘制文本并返回CDRF_SKIPDEFAULT。 另外,您不应该在NMCUSTOMDRAW中使用rect,调用ListView_GetItemRect来获取您真正想要的rect(LVIR_LABEL用于文本等)
看起来您使用的不是LVS_OWNERDRAWFIXED
样式,这可以解释为什么您没有获得所有者绘制的消息。
我需要调用ShowWindow(mHandle, SW_SHOW);
创建列表视图之后。
卫生署!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.