You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何设置NMLISTVIEW结构体中的lParam参数?

NMLISTVIEW中lParam成员的设置方法

NMLISTVIEW里的lParam并非始终未定义,它是ListView控件单个项目的自定义数据存储字段,仅在非项目级的通知消息中才会处于未定义状态。

如何设置这个值

要给项目绑定自定义lParam,你需要在创建或更新ListView项目时,通过LVITEM结构体的lParam字段指定:

  • 调用ListView_InsertItem插入新项目时,填充传入的LVITEM结构体的lParam字段,该值会和对应项目绑定;
  • 调用ListView_SetItem更新已有项目时,也可以通过LVITEM的lParam修改项目的自定义数据。

当ListView发送和单个项目相关的通知时,NMLISTVIEW结构体中的lParam就会自动被填充为该项目预先设置的自定义值。

哪些通知会用到这个lParam

只有针对具体ListView项目的通知,才会有效填充这个字段,典型的包括:

  • LVN_ITEMACTIVATE
  • LVN_ITEMCHANGED
  • LVN_ITEMCHANGING
  • LVN_GETDISPINFO(用于自定义项目数据场景)
  • LVN_DELETEITEM

像LVN_COLUMNCLICK这类不绑定单个项目的通知,NMLISTVIEW的lParam成员是未定义的,不能读取或依赖该值。

内容的提问来源于stack exchange,提问作者Peter Nimmo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 22:40:27