MFC中,右键点击树控件的一项时候GetSelectedItem获取值错误问题
遇到的问题:
我这边获取到的selectuem为什么一直和rootitem值是一样的???:
这边可以看到,这个"函数"并不是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);
这是修改后的情况:
搞定:
哦对了顺带一提,我这边的MenuId就是3~~~