MFC ctrls和重复消息

问题描述:

我在窗体中有两个CListCtrl对象。我想在他们两个选定的列表是相同的。 我如何做到这一点。 我想复制发送给ClistCtrl并发送给其他人的消息。 我该怎么做? 如果这是一个好方法? 谢谢herzlMFC ctrls和重复消息

+1

为什么你想要选择的“列表”(或者你的意思是_item_?)是相同的?这些清单的内容是否相同?你希望达到的目标是什么?这两个列表显示什么? – 2011-03-13 10:35:29

+0

这个问题还不够清楚。您是否有两个不同的列表,但是有一个项目使得一个列表中的每个项目与另一个列表中的某个项目相对应,并且您希望程序在用户选择第一个列表中的某个项目时自动选择第二个列表中的相应项目? – Dialecticus 2011-03-13 14:25:33

+0

@dialecticus是的我有两个不同的列表。问题在于你的解释。 – 2011-03-13 15:18:25

所以,你说的基本上是你想要的列表是同步

通过添加一个事件处理程序来捕获用户在列表控件中的选择,在对话框/窗口的消息映射中添加:ON_NOTIFY(LVN_ITEMCHANGED, IDC_LIST1, OnItemChangedList1)可以轻松实现该功能。
OnItemChangedList1()里面,通过调用GetFirstSelectedItemPosition()获取当前选定项目的索引,并通过调用SetSelectionMark()将其设置为第二个列表中的当前索引。

这样,无论用户何时点击第2项,例如在List_A中,List_B中的第2项也将被选中。

应该有一个函数将该行放入视图中,如果它不在视图中,但我找不到它。

我希望能够说起来,自从我使用它们以来,ListView已经发生了很大的变化,但如果有什么不清楚的地方,请随时提问。