簡體   English   中英

從自定義ListCtrl捕獲WM_NOTIFY消息

[英]Catching a WM_NOTIFY message from a custom ListCtrl

我的應用程序是c ++,並且是MFC和ATL的組合。 我在這里使用的部分是MFC。

我的一個對話框中有一個自定義列表控件類,該類繼承自CListCtrl。

我正在嘗試為LVN_ITEMCHANGED消息添加處理程序,以便可以更新對話框表單的其余部分,該對話框表單取決於列表的內容。 更具體地說,每個列表項都有一個復選框字段,我需要檢測何時已更改。

問題是,我的列表沒有發送消息。

ON_NOTIFY(LVN_ITEMCHANGED, IDC_LIST_OUTPUT_CMDS, OnLvnItemchangedListOutputCmds)

那是我的消息映射,並且工作正常,我僅通過更改消息即可檢測到其他消息,例如LVN _ ITEMCHANGING,NM_CLICK和NM _ RELEASEDCAPTURE。

因此,我的猜測是listctrl自定義類無法以某種方式正確發布消息。

這個問題可以通過多種方式回答:
1. 如何將LVN_ITEMCHANGED消息從子列表發布到其父列表(對話框)?
2. 我什至能聽到正確的信息嗎? 我嘗試過的大多數方法都過早觸發了更新(即,在更新列表中的數據之前)。執行此操作時,對話框將根據列表的先前狀態刷新。
3. 我還有其他應該做的事情嗎? 我要求這樣做只是為了使其開放。

嘗試在對話框上放置一個普通的CListCtrl,看看是否可以從該對話框中捕獲消息。 如果可以,您知道問題是重寫的功能之一(也許您沒有將鼠標事件轉發到CListCtrl等)。

我已將此問題移到stackoverflow.com/questions/1272398

答案在那里發布。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM