繁体   English   中英

自定义绘制列表视图的问题

[英]Problem with a custom drawn list view

我创建了一个列表视图类,该类使用“自定义绘图”进行呈现。 除了不渲染任何东西外,其他所有功能都运行良好。 我将其父窗口NM_CUSTOMDRAWWM_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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM