如何获取子 CListViewCtrl 接收焦点的通知?

问题描述 投票:0回答:1

使用 WTL,我有一个带有两个

CListViewCtrl
子窗口的父窗口。我需要检测
CListViewCtrl
何时获得焦点。我尝试处理
WM_COMMAND
,并检查是否发送了
LBN_SETFOCUS
,但我没有收到任何消息。

也许点击

CListViewCtrl
不会导致它“获得焦点”,但我不确定如何知道哪个
CListViewCtrl
当前处于活动状态,即如果我在一个列表中选择了一个项目,然后我单击另一个列表,第一个列表保留其选择,但现在颜色较浅。

问题是,如果我在列表视图 A 中选择一个项目,然后在列表视图 B 中选择一个项目,如果我返回并单击列表视图 A 中的所选项目,我不会收到

LVN_ITEMCHANGED
消息,因为所选项目没有改变。

有什么方法可以使这项工作无需继承

CListViewCtrl
,并处理
WM_SETFOCUS
以向父级发送自定义消息?这似乎很沉重。

winapi wtl
1个回答
1
投票

LBN_SETFOCUS
是一个 ListBox 通知。等效的ListView通知是
NM_SETFOCUS
,它在
WM_NOTIFY
中传递,而不是在
WM_COMMAND
中传递。

© www.soinside.com 2019 - 2024. All rights reserved.