【发布时间】:2020-03-06 20:22:09
【问题描述】:
基于这个问题:Column filter in ListView on win api
我修改了程序(在我的第一个问题中描述),现在它有两个 ListViews ...问题是现在我不知道如何知道事件发生在哪个列表中... WPARAM 参数为 0当事件在 ListView 过滤器中触发时,并且在 LPARAM 转换中它没有 ListView ID
【问题讨论】:
-
hwndFrom告诉您消息来自的窗口(即控件)。idFrom是 0,因为你没有给你的控件一个 ID。CreateWindowEx的HMENU参数用于此目的。 -
我尝试更改ID,但它一直返回0...就像我需要为ListView Header设置一个ID,但是,没有功能或方法可以做到这一点
-
解决了!我使用此命令为 ListViewHeader 设置 ID:SetWindowLong(hHeader, GWL_ID, 0x8803);
-
对不起,我错过了您试图识别的标题控件。最好通过窗口句柄来识别它(将
hwndFrom与您从ListView_GetHeader返回的值进行比较),而不是更改您未创建的窗口的属性。