我的做法是基于CTreeCtrl定义一个自己的CMyTree(什么都没添加)。再基于CTreeView定义一个自己的CReourceTree(也是没有任何自己添加的内容)。然后在CReourceTree类中用CMyTree定义了一个m_treectrl对象。用这个对象在ReourceTree.cpp中创建了一个树并添加了一些结点。
问题:
一、
1、TreeView中点击树控件以外的区域能相应点击消息,点击树控件却不响应。何原因?
2、在TreeCtrl中添加NM_CLICK消息,点击时有响应。TVN_SELCHANGED消息 却没响应,为何?二、网上看到一些文章,说不用我这样绕个圈子创建树。可以直接在TreeView中利用GetTreeCtrl()获得树控件的引用,进而创建树。 于是,我把CMyTree定义的m_treectrl对象 全部替换成GetTreeCtrl(),编译过了,运行时却报错。不知为什么会这样。请高手帮忙解答一下,不胜感激!
问题:
一、
1、TreeView中点击树控件以外的区域能相应点击消息,点击树控件却不响应。何原因?
2、在TreeCtrl中添加NM_CLICK消息,点击时有响应。TVN_SELCHANGED消息 却没响应,为何?二、网上看到一些文章,说不用我这样绕个圈子创建树。可以直接在TreeView中利用GetTreeCtrl()获得树控件的引用,进而创建树。 于是,我把CMyTree定义的m_treectrl对象 全部替换成GetTreeCtrl(),编译过了,运行时却报错。不知为什么会这样。请高手帮忙解答一下,不胜感激!
BEGIN_MESSAGE_MAP(CMyTree, CTreeCtrl)
ON_NOTIFY_REFLECT(TVN_SELCHANGED, &CMyTree::OnTvnSelchanged)
ON_NOTIFY_REFLECT(NM_CLICK, &CMyTree::OnNMClick)
END_MESSAGE_MAP()
这两个都有。却只响应NM_CLICK消息。