MFC中,右键点击树控件的一项时候GetSelectedItem获取值错误问题

遇到的问题:

       我这边获取到的selectuem为什么一直和rootitem值是一样的???:

       MFC中,右键点击树控件的一项时候GetSelectedItem获取值错误问题     

       MFC中,右键点击树控件的一项时候GetSelectedItem获取值错误问题

       这边可以看到,这个"函数"并不是RootItem。因此定位到了"通过GetSelectedItem获取的选中项值错误"的问题。


划重点:当右键选中树控件的某一项时候,通过GetSelectedItem获取的选中项并不是当前右键下的高亮项,这样就回造成相关的值误传!

所以通过以下代码可使右键下的高亮项为当前选中项:

把下面代码加到OnRclick函数中 
HTREEITEM   hSelect   =   mTree.GetSelectedItem(); 
HTREEITEM   hLight   =   mTree.GetDropHilightItem(); 
if(hLight   !=   NULL   &&   hSelect   !=   hLight) 
hSelect   =   hLight; 
if(hSelect   ==   NULL) 
return; 
mTree.SelectItem(hSelect); 


这是修改后的情况:

       MFC中,右键点击树控件的一项时候GetSelectedItem获取值错误问题

搞定:

       MFC中,右键点击树控件的一项时候GetSelectedItem获取值错误问题

哦对了顺带一提,我这边的MenuId就是3~~~