0

我有一个 CDialog 类,里面有两个 ClistCtrl 类。我想找出当前选择了哪个listCtrl。比如说,listCtrl A 和 B。即使我在 A 和 B 之间移动,假设首先我去 A 并选择一行。然后,即使我去 B 并在那里选择一个项目,A 中的项目仍然被选中,因为我不知道我已经进入其他列表。

任何建议,我怎么能找到这个。

4

2 回答 2

1

我找到了一种方法。I can register for NM_Click notifications on both the lists When list A is selected, I set curSel of list B to -1 and vice versa.

于 2010-12-03T10:59:11.000 回答
1

如果理解正确,您需要知道哪个列表框具有焦点。你可以通过调用来做到这一点GetFocus(),它返回一个指向焦点控件的指针。

您可能遇到的问题是当您的对话框不是活动窗口时,焦点将在其他地方。在这种情况下,您应该跟踪WM_SETFOCUSWM_KILLFOCUS发送消息并记录哪些列表框是最后激活的。在 MFC 中有回调CWnd::OnSetFocusCWnd::OnKillFocus可以用来实现这一点。

于 2010-12-03T10:48:58.913 回答