2011-03-13 78 views
1

我在窗體中有兩個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

回答

2

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

通過添加一個事件處理程序來捕獲用戶在列表控件中的選擇,在對話框/窗口的消息映射中添加:ON_NOTIFY(LVN_ITEMCHANGED, IDC_LIST1, OnItemChangedList1)可以輕鬆實現該功能。
OnItemChangedList1()裏面,通過調用GetFirstSelectedItemPosition()獲取當前選定項目的索引,並通過調用SetSelectionMark()將其設置爲第二個列表中的當前索引。

這樣,無論用戶何時點擊第2項,例如在List_A中,List_B中的第2項也將被選中。

應該有一個函數將該行放入視圖中,如果它不在視圖中,但我找不到它。

我希望能夠說起來,自從我使用它們以來,ListView已經發生了很大的變化,但如果有什麼不清楚的地方,請隨時提問。