如何得到右键击CTreeCtrl的某一结点的消息?
因为CTreeCtrl是个整体,如果我想用右键对某个结点编辑,删除,和为某个结点添加子结点等操作,这些操作通过什么消息传给应用程序的?特别是应用程序怎么知道这个接点在树中的"身份". 问题点数:50、回复次数:9Top
1 楼chzhk007(Kenneth)回复于 2006-03-17 10:48:52 得分 0
555555,没有人帮我吗?
Top
2 楼firstofworld(天下第一)回复于 2006-03-17 11:05:04 得分 15
添加一个消息
ON_NOTIFY(NM_RCLICK, ID_FILETREE, OnRclickTree)
在OnRclickTree(NMHDR *pNMHDR, LRESULT *pResult)里面可以得到你点击的结点,对节点进行判断就可以了
Top
3 楼chzhk007(Kenneth)回复于 2006-03-17 11:51:13 得分 0
再问 天下第一:
OnRclickTree(NMHDR *pNMHDR, LRESULT *pResult)参数的意义能解释一下吗?Top
4 楼chzhk007(Kenneth)回复于 2006-03-17 13:50:21 得分 0
这个问题难道很难吗??Top
5 楼firstofworld(天下第一)回复于 2006-03-17 14:28:45 得分 5
pNMHDR
A pointer to the notification structure, as described in the section above.
pResult
A pointer to the result code you’ll set before you return.
不是说这个问题难,在MSDN里面都有详细的解释了啊Top
6 楼gbs0817(小小菜鸟)回复于 2006-03-17 14:45:47 得分 10
NMHDR是一个结构用来存储关于消息的信息
NMHDR
{
HWnd hWndFrom ; 相当于原WM_COMMAND传递方式的lParam
UINT idFrom ; 相当于原WM_COMMAND传递方式的wParam(low-order)
UINT code ; 相当于原WM_COMMAND传递方式的Notify Code(wParam"s high-order)
};
pResult返回处理结果Top
7 楼zwl327(疾劲野风)回复于 2006-03-17 15:36:51 得分 0
HTREEITEM hItem ;
m_Tree.ScreenToClient(&cPoint) ;
hItem = m_Tree.HitTest(cPoint) ;
Top
8 楼zwl327(疾劲野风)回复于 2006-03-17 15:38:46 得分 20
OnRclickTree(NMHDR *pNMHDR, LRESULT *pResult)
{
HTREEITEM hItem ;
GetCursorPos(&cPoint) ;
m_Tree.ScreenToClient(&cPoint) ;
hItem = m_Tree.HitTest(cPoint) ;//hItem为你所点的Item
}
Top
9 楼chzhk007(Kenneth)回复于 2006-03-17 16:18:58 得分 0
疾劲野风的方法最简单明了!
谢谢天下第一,小小菜鸟,和疾劲野风.
Top




