SDI程序,左边是像资源管理器一样的分割窗口CLeftView继承自CView。
右边是SDI产生的View,里面有一个CListCtrl。
由于我左边有几个面板,所以我在里面放了几个CExplorerDialog,CHistoryDialog等都继承自CDialog。
其中CExplorerDialog里有一个CTreeCtrl。
现在的问题是我在CExplorerDialog里处理
ON_NOTIFY(NM_RCLICK, IDC_TREE_VIEW, OnRClickTreeView)
ON_NOTIFY(TVN_SELCHANGING, IDC_TREE_VIEW, OnSelchangingTreeView)
ON_NOTIFY(TVN_ITEMEXPANDING, IDC_TREE_VIEW, OnItemExpandingTreeView)
只有NM_RCLICK有响应,其他的都没反应,为什么?
我直接把CTreeCtrl放在CLeftView是可以的,先放在CExplorerDialog,再把CExplorerDialog放在CLeftView里就不行了。另外我建了一个基于对话框的程序,放一个CTreeCtrl上去也是可以响应的。
难道CDialog为child窗口的时候就不能响应控件通知消息?
右边是SDI产生的View,里面有一个CListCtrl。
由于我左边有几个面板,所以我在里面放了几个CExplorerDialog,CHistoryDialog等都继承自CDialog。
其中CExplorerDialog里有一个CTreeCtrl。
现在的问题是我在CExplorerDialog里处理
ON_NOTIFY(NM_RCLICK, IDC_TREE_VIEW, OnRClickTreeView)
ON_NOTIFY(TVN_SELCHANGING, IDC_TREE_VIEW, OnSelchangingTreeView)
ON_NOTIFY(TVN_ITEMEXPANDING, IDC_TREE_VIEW, OnItemExpandingTreeView)
只有NM_RCLICK有响应,其他的都没反应,为什么?
我直接把CTreeCtrl放在CLeftView是可以的,先放在CExplorerDialog,再把CExplorerDialog放在CLeftView里就不行了。另外我建了一个基于对话框的程序,放一个CTreeCtrl上去也是可以响应的。
难道CDialog为child窗口的时候就不能响应控件通知消息?
为什么这个CDialog不能响应CTreeCtrl的通知消息
ON_NOTIFY(TVN_SELCHANGING, IDC_TREE_VIEW, OnSelchangingTreeView)
ON_NOTIFY(TVN_ITEMEXPANDING, IDC_TREE_VIEW, OnItemExpandingTreeView)
还有更好的控件那来做面板吗?